JVM调优实战(二)—— jdk1.8

jdk1.8

一、统计各个区域所占大小

Jconsole监控

jstat -gcutil pid 500 20 查看各区域所占比例

二、设置堆区域大小

堆:old eden suvivor

非堆:meta 方法缓存

堆:

1、-Xmx:最大堆,系统物理内存1/4,-Xms大小同-Xmx

2、年轻代:年老代 ——> -XX:NewRatio=3 ——> old:new=3:1

3、年轻代中:-XX:SurvivorRatio=3 ——> Eden:Survivor ——> 3:2(两个survivor区)
三、设置非堆大小

1、元空间

jdk1.8中PermSize被MetaspaceSize取代,原因及特点可参考:Jdk1.8元空间

-XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m

2、方法缓存

32位 win 默认初始化32m,监控Code Cache,可按照具体情况设置

-XX:InitialCodeCacheSize=64m -XX:ReservedCodeCacheSize=128m

方法区占用量太大,可通过一下参数flush掉,不过还是先应该找出代码中溢出部分

-XX:+UseCodeCacheFlushing

三、GC

CPU > 4core 的可采取:-XX:UseParallelGC

其他:-XX:UseG1GC延迟低

posted @ 2017-05-22 15:51  川雨淅  阅读(961)  评论(0编辑  收藏  举报