首页 > 代码库 > JVM 调优总结
JVM 调优总结
避免FullGC:
1.通过调整堆中新生代和幸存代大小,避免因为幸存代不足而让Minor GC后的对象进入老年代。每次Minor GC都有对象进入老年代会造成数次MinorGC后FullGC.
2.减少永久区浪费,JVM进程启动完毕后,永久区变化不大了,这时可以参看Perm是否有剩余空间,节省Perm区的空间分给新生代用。
缩短单次MinorGC所用时间:选择合理的GC算法,并进行GC算法参数调整。比如 低交互性可使用Parallel Scavenge(这种不会尽可能缩短GC时间)
调优案例1
(1) 查看gc统计结果
[hotspot@bogon ~]$ jstat -gcutil 3553 | column -t S0 S1 E O P YGC YGCT FGC FGCT GCT 10.28 0.00 90.07 91.12 51.75 838 60.922 1 1.728 62.650
从结果看出,虽然经历了838次MinorGC,但仅发生了1次 FullGC,成功避免了FullGC
(2)查看JVM参数
[hotspot@bogon ~]$ jinfo -flags 3553 Attaching to process ID 3553, please wait... Debugger attached successfully. Server compiler detected. JVM version is 23.5-b02 -Djava.util.logging.config.file=/home/hotspot/tomcat7_8082/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Xms500m -Xmx800m -XX:PermSize=256M -XX:MaxPermSize=300M -Djava.endorsed.dirs=/home/hotspot/tomcat7_8082/endorsed -Dcatalina.base=/home/hotspot/tomcat7_8082 -Dcatalina.home=/home/hotspot/tomcat7_8082 -Djava.io.tmpdir=/home/hotspot/tomcat7_8082/temp
JVM 调优总结
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。