1. 程式人生 > >高併發-JVM優化-設定JVM引數

高併發-JVM優化-設定JVM引數

-server -Xmx4g -Xms4g -Xmn256m -XX:PermSize=128m -Xss256k -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70

-server VM有兩種執行模式Server與Client,兩種模式的區別在於,Client模式啟動速度較快,Server模式啟動較慢;但是啟動進入穩定期長期執行之後Server模式的程式執行速度比Client要快很多;


-Xmx2g 最大堆大小


-Xms2g 初始堆大小


-Xmn256m 堆中年輕代大小;


-XX:PermSize設定非堆記憶體初始值,預設是實體記憶體的1/64;由XX:MaxPermSize設定最大非堆記憶體的大小,預設是實體記憶體的1/4.


-Xss 每個執行緒的Stack大小


-XX:+DisableExplicitGC,這個引數作用是禁止程式碼中顯示呼叫GC。程式碼如何顯示呼叫GC呢,通過System.gc()函式呼叫。如果加上了這個JVM啟動引數,那麼程式碼中呼叫System.gc()沒有任何效果,相當於是沒有這行程式碼一樣。


-XX:+UseConcMarkSweepGC 併發標記清除(CMS)收集器,CMS收集器也被稱為短暫停頓併發收集器;


-XX:+CMSParallelRemarkEnabled 降低標記停頓;


-XX:+UseCMSCompactAtFullCollection:使用併發收集器時,開啟對年老代的壓縮.


-XX:LargePageSizeInBytes 指定 Java heap 的分頁頁面大小


-XX:+UseFastAccessorMethods 原始型別的快速優化


-XX:+UseCMSInitiatingOccupancyOnly  使用手動定義的初始化定義開始CMS收集


-XX:CMSInitiatingOccupancyFraction 使用cms作為垃圾回收使用70%後開始CMS收集;

如圖複製: