JVM 调优总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JVM 调优总结相关的知识,希望对你有一定的参考价值。

避免FullGC:

  1.通过调整堆中新生代和幸存代大小,避免因为幸存代不足而让Minor GC后的对象进入老年代。每次Minor GC都有对象进入老年代会造成数次MinorGC后FullGC.

  2.减少永久区浪费,JVM进程启动完毕后,永久区变化不大了,这时可以参看Perm是否有剩余空间,节省Perm区的空间分给新生代用。

缩短单次MinorGC所用时间:选择合理的GC算法,并进行GC算法参数调整。比如 低交互性可使用Parallel Scavenge(这种不会尽可能缩短GC时间)

 

调优案例1

(1) 查看gc统计结果

[[email protected] ~]$ 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参数

[[email protected] ~]$ 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 调优总结的主要内容,如果未能解决你的问题,请参考以下文章

JVM调优参数方法工具以及案例总结

Java开发经典实战!java代码编译过程

JVM调优总结-调优方法

JVM调优总结

JVM 调优经验总结

01JVM调优调优--总结