Saya bekerja dengan tomcat 6.0, dan saat saya mengindeks (bukan saat saya memulai tomcat), saya mengalami kesalahan ruang permgen.
Bagaimana saya bisa menambah ruang itu ??
Biasanya ini terjadi saat melakukan banyak redeploys. Saya terkejut Anda memilikinya menggunakan sesuatu seperti pengindeksan. Gunakan virtualvm atau jconsole untuk memantau ruang gen Perm dan periksa levelnya setelah pemanasan pengindeksan.
Mungkin Anda harus mempertimbangkan untuk beralih ke JVM lain seperti JVM IBM. Ia tidak memiliki Generasi Permanen dan kebal terhadap masalah ini.
Terima kasih!! Tapi di mana saya harus menuliskannya ?? Saya kira dalam satu flile di sini: tomcat / conf Apakah saya salah ??
Blanca
1
Untuk kucing jantan Anda dapat membuat variabel lingkungan CATALINA_OPTS dengan sebagai nilai opsi ini digabungkan. Skrip startup akan menambahkan ini ke commandline Java sebelum memulai tomcat. Ini tidak dapat dilakukan dari konfigurasi tomcat karena JVM sudah dikonfigurasi pada saat itu.
Peter Tillemans
2
Jika ini adalah FreeBSD, tambahkan opsi ke file /etc/rc.conf. Pertama baca skrip start tomcat untuk melihat parameter pasti yang akan dicari.
Brian Knoblauch
3
Di OpenJDK 7, CMSPermGenSweepingEnabled tidak digunakan lagi dan mendukung CMSClassUnloadingEnabled
Petr Gladkikh
12
Untuk kucing jantan Anda dapat menambah ruang permGem dengan menggunakan
-XX:MaxPermSize=128m
Untuk ini, Anda perlu membuat (jika belum ada) file bernama setenv.sh di folder tomcat / bin dan menyertakan baris berikut di dalamnya
export JAVA_OPTS="-XX:MaxPermSize=128m"bekerja untuk saya dengan Clojure + lein repl
Jeff
3
Anda juga dapat meningkatkannya melalui argumen VM di IDE Anda. Dalam kasus saya, saya menggunakan Tomcat v7.0 yang berjalan di Eclipse. Untuk melakukan ini, klik dua kali pada server Anda (Tomcat v7.0). Klik tautan 'Buka konfigurasi peluncuran'. Buka tab 'Argumen'. Tambahkan -XX: MaxPermSize = 512m ke daftar argumen VM. Klik 'Terapkan' dan kemudian 'OK'. Mulai ulang server Anda.
jika Anda menemukan bahwa pengaturan memori tidak digunakan dan untuk mengubah pengaturan memori, saya menggunakan tomcat7w atau tomcat8w di folder \ bin. Maka yang berikut akan muncul:
Klik tab Java dan tambahkan arguments.restart tomcat
Jawaban:
Kamu bisa memakai :
-XX:MaxPermSize=128m
untuk menambah ruang. Tapi ini biasanya hanya menunda hal yang tak terhindarkan.
Anda juga dapat mengaktifkan PermGen untuk mengumpulkan sampah
Biasanya ini terjadi saat melakukan banyak redeploys. Saya terkejut Anda memilikinya menggunakan sesuatu seperti pengindeksan. Gunakan virtualvm atau jconsole untuk memantau ruang gen Perm dan periksa levelnya setelah pemanasan pengindeksan.
Mungkin Anda harus mempertimbangkan untuk beralih ke JVM lain seperti JVM IBM. Ia tidak memiliki Generasi Permanen dan kebal terhadap masalah ini.
sumber
Untuk kucing jantan Anda dapat menambah ruang permGem dengan menggunakan
-XX:MaxPermSize=128m
Untuk ini, Anda perlu membuat (jika belum ada) file bernama setenv.sh di folder tomcat / bin dan menyertakan baris berikut di dalamnya
export JAVA_OPTS="-XX:MaxPermSize=128m"
Referensi: http://wiki.razuna.com/display/ecp/Adjusting+Memory+Settings+for+Tomcat
sumber
export JAVA_OPTS="-XX:MaxPermSize=128m"
bekerja untuk saya dengan Clojure + lein replAnda juga dapat meningkatkannya melalui argumen VM di IDE Anda. Dalam kasus saya, saya menggunakan Tomcat v7.0 yang berjalan di Eclipse. Untuk melakukan ini, klik dua kali pada server Anda (Tomcat v7.0). Klik tautan 'Buka konfigurasi peluncuran'. Buka tab 'Argumen'. Tambahkan -XX: MaxPermSize = 512m ke daftar argumen VM. Klik 'Terapkan' dan kemudian 'OK'. Mulai ulang server Anda.
sumber
jika Anda menemukan bahwa pengaturan memori tidak digunakan dan untuk mengubah pengaturan memori, saya menggunakan tomcat7w atau tomcat8w di folder \ bin. Maka yang berikut akan muncul:
Klik tab Java dan tambahkan arguments.restart tomcat
sumber
Pada distribusi mirip Debian Anda mengaturnya
/etc/default/tomcat[67]
sumber