เพิ่มพื้นที่ดัด


88

ฉันกำลังทำงานกับ tomcat 6.0 และในขณะที่ฉันกำลังทำดัชนี (ไม่ใช่ในขณะที่ฉันกำลังเริ่ม tomcat) ฉันมีข้อผิดพลาดเกี่ยวกับพื้นที่ที่อนุญาต
ฉันจะเพิ่มพื้นที่นั้นได้อย่างไร?

ขอบคุณ


ฉันเคยตรวจสอบคำถามที่คล้ายกันมาก่อน แต่ไม่ช่วยฉัน -XX: NewSize = 2.125m ไปไหน
Blanca

คำตอบ:


142

คุณสามารถใช้ได้ :

-XX:MaxPermSize=128m

เพื่อเพิ่มพื้นที่ แต่สิ่งนี้มักจะเลื่อนออกไปเท่านั้น

คุณยังสามารถเปิดใช้ PermGen เพื่อเก็บขยะได้

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

โดยปกติจะเกิดขึ้นเมื่อทำซ้ำจำนวนมาก ฉันแปลกใจที่คุณใช้บางอย่างเช่นการจัดทำดัชนี ใช้ virtualvm หรือ jconsole เพื่อตรวจสอบพื้นที่ Perm gen และตรวจสอบระดับปิดหลังจากอุ่นเครื่องการจัดทำดัชนี

บางทีคุณควรพิจารณาเปลี่ยนเป็น JVM อื่นเช่น IBM JVM ไม่มีการสร้างแบบถาวรและไม่มีภูมิคุ้มกันต่อปัญหานี้


ขอบคุณ !! แต่ต้องจดไว้ที่ไหน ?? ฉันเดาในหนึ่ง flile ที่นี่: tomcat / conf ฉันผิดหรือไม่ ??
Blanca

1
สำหรับ tomcat คุณสามารถสร้างตัวแปรสภาพแวดล้อม CATALINA_OPTS โดยมีค่าตัวเลือกเหล่านี้เชื่อมต่อกัน สคริปต์เริ่มต้นจะเพิ่มสิ่งเหล่านี้ในบรรทัดคำสั่ง Java ก่อนที่จะเริ่ม Tomcat ไม่สามารถทำได้จากการกำหนดค่า tomcat เนื่องจาก JVM ถูกกำหนดค่าไว้แล้ว ณ จุดนั้น
Peter Tillemans

2
หากเป็น FreeBSD ให้เพิ่มตัวเลือกในไฟล์ /etc/rc.conf ขั้นแรกให้อ่านสคริปต์เริ่มต้นของ tomcat เพื่อดูพารามิเตอร์ที่แน่นอนที่จะค้นหา
Brian Knoblauch

3
ใน OpenJDK 7 CMSPermGenSweepingEnabled นั้นเลิกใช้งาน CMSClassUnloadingEnabled
Petr Gladkikh

12

สำหรับแมวตัวผู้คุณสามารถเพิ่มพื้นที่ PermGem ได้โดยใช้

 -XX:MaxPermSize=128m

สำหรับสิ่งนี้คุณต้องสร้าง (ถ้ายังไม่มี) ไฟล์ชื่อ setenv.sh ในโฟลเดอร์ tomcat / bin และรวมบรรทัดต่อไปนี้ไว้ด้วย

   export JAVA_OPTS="-XX:MaxPermSize=128m"

อ้างอิง: http://wiki.razuna.com/display/ecp/Adjusting+Memory+Settings+for+Tomcat


1
export JAVA_OPTS="-XX:MaxPermSize=128m"ทำงานให้ฉันกับ Clojure + lein repl
Jeff

3

คุณยังสามารถเพิ่มได้ผ่านทางอาร์กิวเมนต์ VM ใน IDE ของคุณ ในกรณีของฉันฉันใช้ Tomcat v7.0 ซึ่งทำงานบน Eclipse โดยดับเบิลคลิกที่เซิร์ฟเวอร์ของคุณ (Tomcat v7.0) คลิกลิงก์ "เปิดการกำหนดค่าการเปิดตัว" ไปที่แท็บ "อาร์กิวเมนต์" เพิ่ม -XX: MaxPermSize = 512m ไปยังรายการอาร์กิวเมนต์ VM คลิก "ใช้" แล้วคลิก "ตกลง" รีสตาร์ทเซิร์ฟเวอร์ของคุณ


3

หากคุณพบว่าไม่ได้ใช้การตั้งค่าหน่วยความจำและเพื่อเปลี่ยนการตั้งค่าหน่วยความจำฉันใช้ tomcat7w หรือ tomcat8w ในโฟลเดอร์ \ bin จากนั้นสิ่งต่อไปนี้จะปรากฏขึ้น:

จอภาพแมวตัวผู้

คลิกแท็บ Java และเพิ่มอาร์กิวเมนต์เริ่มต้น Tomcat


@ Jérémie BI ไม่มีจุดชื่อเสียงเพียงพอที่จะเพิ่มภาพโดยตรง
Kevin STS

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.