Saya menjalankan Tomcat menggunakan paket tomcat6 dari Ubuntu 9.04, yang membuat daemon dari Tomcat menggunakan jsvc. Saya ingin tahu cara yang tepat untuk mengatur opsi Java heap seperti -Xmx
untuk Tomcat Saya ingin menempatkan konfigurasi di mana saja dengan gaya paling benar, dan di mana pun paling tidak mungkin akan ditimpa oleh pembaruan paket Ubuntu.
Opsi yang saya lihat sekarang:
- Hard-kode mereka di suatu tempat di
/etc/init.d/tomcat6
. - Hard-kode mereka di suatu tempat di
/usr/share/tomcat6/bin/catalina.sh
. - Buat garis dalam
/usr/share/tomcat6/bin/startup.sh
untuk mengatur CATALINA_OPTS untuk memiliki flag yang diinginkan, dan kemudian ekspor CATALINA_OPTS sebagai variabel lingkungan. (Ini sepertinya akan diambil olehcatalina.sh
.)
Opsi terakhir terdengar seperti yang terbaik, dan dianjurkan (tanpa penjelasan mengapa) di Meningkatkan heapspace Java dalam skrip startup Tomcat . Tapi saya ingin mendapatkan pendapat kedua. Adakah yang ingin mengkonfirmasi bahwa tidak ada cara yang lebih baik?
/etc
jika memungkinkan./etc/tomcat6/tomcat6.conf
adalah file besar dan saya tidak ingin memasukkan kustomisasi pribadi saya di sana, jadi saya membuat$CATALINA_HOME/bin/setenv.sh
dan mengambilnya/usr/sbin/tomcat6
. Semoga ini bisa membantu pengguna CentOS (ya, saya tahu pertanyaan aslinya adalah untuk Ubuntu).Jika Anda melihat di direktori bin instalasi Anda, Anda akan melihat skrip catalina.sh atau .bat. Jika Anda melihat ini, Anda akan melihat bahwa mereka menjalankan skrip setenv.sh atau setenv.bat, jika ada, untuk mengatur variabel lingkungan. Variabel lingkungan yang relevan dijelaskan dalam komentar di bagian atas catalina.sh/bat. Untuk menggunakannya buat, misalnya, file $ CATALINA_HOME / bin / setenv.sh dengan konten
Untuk Windows Anda akan membutuhkan, di setenv.bat, sesuatu seperti
Ini benar dari tomcat 5.5 hingga 7. Asli menjawab https://stackoverflow.com/questions/286007/how-to-tune-tomcat-5-5-jvm-memory-settings-without-using-the-configuration-progra
sumber
Cari /etc/tomcat6/tomcat6.conf yang memiliki orang-orang seperti JAVA_OPTS yang siap dan menunggu Anda untuk menghapus komentar (tetapi hanya jika Anda memilikinya, saya menggunakan Centos bukan Ubuntu).
sumber
Cara paling elegan yang saya temukan sejauh ini adalah mengedit /etc/init.d/tomcat6 dan menambahkan ini di bagian atas file:
Pilihan lain yang saya uraikan dalam pertanyaan saya sepertinya tidak berhasil. Setelah mempelajari skrip dan bereksperimen lagi, saya sekarang ragu bahwa /usr/share/tomcat6/bin/catalina.sh dan /usr/share/tomcat6/bin/startup.sh berperan dalam startup tomcat dengan paket tomcat6 Ubuntu. Sebagai gantinya; /etc/init.d/tomcat6 sepenuhnya menggantikan semua pekerjaan yang biasanya dilakukan oleh catalina.sh/startup.sh.
Saya masih sedikit khawatir kehilangan opsi konfigurasi ini di beberapa pembaruan paket di masa depan, tapi saya kira jika itu terjadi, akan sangat mudah untuk mengembalikannya.
sumber