Tingkatkan ruang permgen

Jawaban:

142

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

-XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled

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.

Peter Tillemans
sumber
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"

Referensi: http://wiki.razuna.com/display/ecp/Adjusting+Memory+Settings+for+Tomcat

Paroksh Saxena
sumber
1
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.

pengguna3375152
sumber
3

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:

monitor kucing jantan

Klik tab Java dan tambahkan arguments.restart tomcat

Kevin STS
sumber
@ Jérémie BI tidak memiliki cukup poin reputasi untuk menambahkan gambar secara langsung.
Kevin STS
0

Pada distribusi mirip Debian Anda mengaturnya /etc/default/tomcat[67]

der_do
sumber