解決 PermGen space Tomcat內存設置

windows下:
修改catalina.bat,找到set JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG% 和 set JAVA_OPTS=%JAVA_OPTS% %LOGGING_MANAGER% ,用rem註釋掉;
在 rem set JAVA_OPTS=%JAVA_OPTS% %LOGGING_MANAGER% 下面一行加上:
set JAVA_OPTS=-server -Xms512m -Xmx1024m -XX:PermSize=256M
-XX:MaxPermSize=512M
8G內存下的配置:
set JAVA_OPTS=%JAVA_OPTS% -server -Xms8192m -Xmx8192m -Xmn1890m -verbose:gc -XX:+UseConcMarkSweepGC -XX:MaxTenuringThreshold=5 -XX:+ExplicitGCInvokesConcurrent -XX:GCTimeRatio=19 -XX:CMSInitiatingOccupancyFraction=70 -XX:CMSFullGCsBeforeCompaction=0 -Xnoclassgc -XX:SoftRefLRUPolicyMSPerMB=0
參數說明:
-server:一定要作爲第一個參數,在多個CPU時性能佳
-Xms:java Heap初始大小。 默認是物理內存的1/64。
-Xmx:java heap最大值。建議均設爲物理內存的一半。不可超過物理內存。
 

-XX:PermSize:設定內存的永久保存區初始大小,缺省值爲64M。(我用visualvm.exe查看的)
-XX:MaxPermSize:設定內存的永久保存區最大 大小,缺省值爲64M。(我用visualvm.exe查看的)
 
-XX:SurvivorRatio=2  :生還者池的大小,默認是2,如果垃圾回收變成了瓶頸,您可以嘗試定製生成池設置
 
-XX:NewSize: 新生成的池的初始大小。 缺省值爲2M。
-XX:MaxNewSize: 新生成的池的最大大小。   缺省值爲32M。
如果 JVM 的堆大小大於 1GB,則應該使用值:-XX:newSize=640m -XX:MaxNewSize=640m -XX:SurvivorRatio=16,或者將堆的總大小的 50% 到 60% 分配給新生成的池。調大新對象區,減少Full GC次數。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章