最近在單位的電腦上調試程序。由于使用了JPA和OperaMasks這兩個在容器啟動的時候需要掃描實體Bean和LiteBean的框架,所以,在Tomcat啟動初期,系統經常由于大量的對象被創建而不能回收導致PermGen Space Over Flow。在網上經過一番搜索,終于找到了如下的啟動參數,經測試多次熱部署不會導致VM崩潰。
-Xms128m -Xmx512m -Xmn96m -XX:PermSize=256M -XX:MaxPermSize=256M -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=7 -XX:GCTimeRatio=19 -Xnoclassgc -XX:+DisableExplicitGC -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=0 -XX:+CMSClassUnloadingEnabled -XX:-CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=70 -XX:SoftRefLRUPolicyMSPerMB=0
文章來源:http://x-spirit.spaces.live.com/Blog/cns!CC0B04AE126337C0!799.entry