2011-01-28 31 views
11

tôi nhận được lỗi sau "http-9000-5" java.lang.OutOfMemoryError: PermGen không gianjava.lang.OutOfMemoryError: không gian PermGen

org.apache.catalina.core.ApplicationDispatcher gọi NGHIÊM TRỌNG : Servlet.service() cho servlet jsp đã ném ngoại lệ java.lang.OutOfMemoryError: PermGen space.

Ứng dụng của tôi sử dụng axis2.I tăng kích thước heap 1024mb.But nó không working.What sẽ là problem.Solution xin

+1

bản sao có thể có của [Cách xử lý "lỗi java.lang.OutOfMemoryError: PermGen space"] (http://stackoverflow.com/questions/88235/how-to-deal-with-java-lang-outofmemoryerror- permgen-space-error) –

Trả lời

6

Nếu bạn đang sử dụng Tomcat làm máy chủ của Eclipse, hãy vào chế độ xem Máy chủ, sau đó nhấp đúp vào Tomcat, sau đó "Mở cấu hình khởi chạy", chuyển đến tab Đối số và sau khi đặt -Dcatalina.base = "" đặt này

-Xms256m -Xmx512m -XX:MaxPermSize=512m -XX:PermSize=128m 
16

PermGen và kích thước heap là khác nhau từ mỗi khác.

Bạn cần để tăng không gian PermGen như thế này:

-XX:PermSize=256m 
-XX:MaxPermSize=256m 

thêm lá cờ này.

Cũng xem xét điều này: explaining-java-lang-outofmemoryerror-permgen-space và điều này: how-to-deal-with-java-lang-outofmemoryerror-permgen-space-error

Hope this helps.

+0

Các tùy chọn này được giải thích một chút ở đây: http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html#PerformanceTuning – amos

15

bạn cần phải thiết lập một cái gì đó trong lập luận tomcat của bạn

JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 
-server -Xms1536m -Xmx1536m 
-XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m 
-XX:MaxPermSize=256m -XX:+DisableExplicitGC" 

Lưu ý: XX: MaxPermSize = 256M

+5

Hãy nhớ đặt điều này trong một ' setenv' script trong thư mục tomcat/bin/của bạn. Đối với * nix, sử dụng tập lệnh 'setenv.sh' với' export JAVA_OPTS = "......" 'và Windows sử dụng tập lệnh' setenv.bat' với 'set JAVA_OPTS = .....'. – Qwerky

+0

Cảm ơn, nó đã cứu ngày của tôi. –

2

Ngoài tăng kích thước PermGen, hãy thử cho phép bộ sưu tập rác permgen với

-XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled 
0

Hãy thử tăng phân bổ ram cho JVM của bạn. Nó sẽ giúp.

Fix for eclipse: Bạn có thể cấu hình này trong sở thích nhật thực như sau

Windows -> Preferences (trên mac của nó: eclipse -> tuỳ chọn) Java -> JRE cài đặt Chọn JRE và nhấp chuột vào Chỉnh sửa trên loại trường đối số VM mặc định trong --Xms256m -Xmx512m -XX: MaxPermSize = 512m -XX: PermSize = 128m. (hoặc sở thích bộ nhớ của bạn, cho 1 gb ram của nó 1024) Nhấp vào kết thúc hoặc OK.

Các vấn đề liên quan