簡體   English   中英

eclipse下tomcat中的堆/ PermGen設置問題

[英]Heap/ PermGen setting issues in tomcat under eclipse

一位同事在Eclipse / Tomcat運行參數中具有以下設置,並且一直抱怨堆內存不足:

-XX:PermSize=512M
-XX:MaxPermSize=1024M
-Xmx1024m

如果我正確理解這一點,則max PermGenmax Heap均為1 GB。 由於PermGen是Heap的特殊部分,因此相當於將所有堆分配給PermGen 這個對嗎?

Per Perm Space vs Heap Space ,我可能是正確的。 這會引起問題嗎?

Per Is Java PermGen空間占VM內存總量的一部分 ,我的理解是不正確的。

你是對的。 > 512MB用於PermGen,<512MB用於Heap

使用任何Sun / Oracle JVM附帶的JVisualVM連接到正在運行的Eclipse進程並檢查實際情況

啟用GC日志記錄,一旦Eclipse再次崩潰,您將看到問題的原因,日志將顯示PermGen的大小。

GC日志記錄: -XX:+UnlockDiagnosticVMOptions -XX:+LogVMOutput -XX:LogFile=jvm.log -XX:+HeapDumpOnOutOfMemoryError -Xloggc:gc.log -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -showversion

考慮到PermGen是否是Heap的一部分,這實際上取決於您正在運行的Hotspot的版本。 GC算法控制着PermGen的大小,因此即使您設置MAX = 1GB,它也可能永遠不會變大,並且由於其他一些問題,您仍然可以獲得OOM。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM