JVM之参数调优
一、JVM的参数分类
1、标配参数:JDK无论怎么升级,这些参数一直存在
- java -version
- java -help
- java -server
2、X参数
- Xint:解释执行
- -Xcomp:第一次使用就编译成本地代码
- -Xmixed:混合模式
3、XX参数
- boolean类型:语法: -XX:+ ( +表示开启 -表示关闭),例如:-XX:-PrintGCDetails(不打印GC收集的细节) –XX:+PrintGCDetails (打印GC收集的细节
- KV设置类型:语法:-XX:key=value 例如:-XX:InitialHeapSize=10m(-Xms10m) ;-XX:MaxHeapSize=10m(-Xmx10m)
二、JVM参数查看
1、java -version
HotSpot:它是Sun JDK和OpenJDK中所带的虚拟机,也是目前使用范围最广的Java虚拟机
Server VM :JVM 的运行模式分为 Server模式与client模式,最主要的差别在于:-Server模式启动时,速度较慢,但是一旦运行起来后,性能将会有很大的提升。JVM如果不显式指定是-Server模式还是-client模式,JVM能够根据如下方式选择启动模式
- 当该参数不指定时,虚拟机启动检测主机是否为服务器,如果是,则以Server模式启动,否则以client模式启动,J2SE5.0检测的根据是至少2个CPU和最低2GB内存。
- JVM在client模式默认-Xms是1M,-Xmx是64M;JVM在Server模式默认-Xms是128M,-Xmx是1024M
当JVM用于启动GUI界面的交互应用时适合于使用client模式,当JVM用于运行服务器后台程序时建议用Server模式。
mixed mode:是解释模式与编译模式的混合体,也是目前JDK的默认方式,该参数不建议调整默认即可
- -Xint 解释模式(interpreted mode),-Xint标记会强制JVM执行所有的字节码,当然这会降低运行速度,通常低10倍或更多。
- -Xcomp 编译模式 ,JVM在第一次使用时会把所有的字节码编译成本地代码,从而带来最大程度的优化。
2、jinfo 查看当前JVM参数