jvm调优工具
JDK 自带了很多监控工具,都位于 JDK 的 bin 目录下,其中最常用的是 jconsole 和 jvisualvm 这两款视图监控工具。
- jconsole:用于对 JVM 中的内存、线程和类等进行监控;
- jvisualvm:JDK 自带的全能分析工具,可以分析:内存快照、线程快照、程序死锁、监控内存的变化、gc 变化等。
jvm参数类型
标配参数 、X参数、XX 参数
标配参数:java -version java -help等等
X参数:-Xmixed 混合模式(先编译后执行)
-Xint 解释执行
-Xcomp 第一次执行就编译成本地代码
XX参数 + 表示开启, -表示关闭
-XX:+PrintGC 开启打印 gc 信息;
-XX:+PrintGCDetails 打印 gc 详细信息。
配置启动参数
查看启动后结果 jps 查看java后台进程 jinfo -flag ..... 查看当前配置信息
参数调优:
java -XX:+PringFlagsInitial 显示所有参数初始值
java -XX:+PringFlagsFinall 显示所有最终值 :=表示经jvm或者手动修改过的 =表示默认值
- -Xms2g:初始化推大小为 2g;
- -Xmx2g:堆最大内存为 2g;
- -XX:NewRatio=4:设置年轻的和老年代的内存比例为 1:4;
- -XX:SurvivorRatio=8:设置新生代 Eden 和 Survivor 比例为 8:2;
- –XX:+UseParNewGC:指定使用 ParNew + Serial Old 垃圾回收器组合;
- -XX:+UseParallelOldGC:指定使用 ParNew + ParNew Old 垃圾回收器组合;
- -XX:+UseConcMarkSweepGC:指定使用 CMS + Serial Old 垃圾回收器组合;
- -XX:+PrintGC:开启打印 gc 信息;
- -XX:+PrintGCDetails:打印 gc 详细信息。