1:jvm的参数
三种参数类型:
标准参数:固定参数
-帮助
-版本
-X参数:非标准参数
-Xint强制JVM执行所有字节码,降低执行速度并解释模式
-Xcomp JVM在首次使用时将所有字节码编译成本地代码,从而实现最大程度的优化。 ((编译模式) ) ) )。
- x混合:上的两者的组合也是JVM的默认模型
-XX参数(最高使用量) ) ) ) ) ) ) ) )。
格式:-XX:[]表示无效。
例如,-XX: DisableExplicitGC表示禁用GC
-XX:newSize (年轻一代) () ) ) ) ) ) ) )。
- xx :用户序列
-Xms和-Xmx分别是设置jvm的堆内存的初始大小和最大内存
-Xmx2048M:等效于-XX:MaxHeapSize,最大堆内存为2G
-Xms512M:等效于-XX:InitialHeapSize,初始化堆内存大小为512M
JVM常规命令:
检查jStat堆内存的使用情况
使用jstat -class pid检查class加载情况
jstat -gc pid调查了GC的使用情况,S1、S0、ELDEN年轻一代区、OLD的旧年代
Jmap查看GC详细信息: (也可以使用MAT工具进行分析。)
Jmap -heap pid
将内存使用量dump到文件
jmap-dump :格式=b,file=/tmp.dat(filename ) pid
用jhat分析上面的二进制文件:-jhat -port 8888 /tmp.dat
Jstack用于诊断线程死锁问题(将当前服务的线程状态打印到1.txt文件)。
jstack pid 1.txt