JAVA JVM調優

JAVA JVM調優

######## JVM 優化文檔 #########################
一、-XX:MetaspaceSize=256m的含義到底是什麼呢?其實,這個JVM參數是指Metaspace擴容時觸發FullGC的初始化閾值,也是最小的閾值。這裏有幾個要點需要明確:
無論-XX:MetaspaceSize配置什麼值,Metaspace的初始容量一定是21807104(約20.8m);
Metaspace由於使用不斷擴容到-XX:MetaspaceSize參數指定的量,就會發生FGC;且之後每次Metaspace擴容都會發生FGC;
如果Old區配置CMS垃圾回收,那麼第2點的FGC也會使用CMS算法進行回收;
Meta區容量範圍爲[20.8m, MaxMetaspaceSize);
如果MaxMetaspaceSize設置太小,可能會導致頻繁FGC,甚至OOM;
建議————————————————————————————————————————————————
MetaspaceSize和MaxMetaspaceSize設置一樣大;
具體設置多大,建議穩定運行一段時間後通過jstat -gc pid確認且這個值大一些,對於大部分項目256m即可

二、.參數的含義
-Xms128m JVM初始分配的堆內存
-Xmx512m JVM最大允許分配的堆內存,按需分配
-XX:PermSize=64M JVM初始分配的非堆內存
-XX:MaxPermSize=128M JVM最大允許分配的非堆內存,按需分配

nohup java -jar -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m -Xms512m -Xmx1024m -Xmn256m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC /home/product.jar > service-product.log 2>&1 &
nohup java -jar -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m -Xms512m -Xmx1024m -Xmn256m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC /home/order.jar > service-order.log 2>&1 &

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章