1 JVM的参数类型
标准参数
X 参数
JDK8默认混合模式
更为编译执行
XX 参数
2 查看JVM运行时参数
查看XX选项的值
- -XX:+PrintCommandLineFlags
-
-XX:+PrintFlagsInitial -XX:+PrintFlagsFinal
重定向到文本文件
jps
jpsjps -l
jinfo
3 jstat查看JVM统计信息
3.1 类装载
3.2 GC
-gc输出结果
JVM 的内存结构
JIT 编译
4 jmap + MAT 实战内存溢出
堆区
非堆区
5 导出内存映像文件
OutofMemory(OOM)相关的选项
如果程序发生了OOM后,JVM可以配置一些选项来做些善后工作,比如把内存给dump下来,或者自动采取一些别的动作
- -XX:+HeapDumpOnOutOfMemoryError
在内存出现OOM的时候,把Heap转存(Dump)到文件以便后续分析,文件名通常是java_pid<pid>.hprof
- -XX:HeapDumpPath=<path>
指定heap转存文件的存储路径,需要指定的路径下有足够的空间来保存转存文件 -
-XX:OnOutOfMemoryError
指定一个可行性程序或者脚本的路径,当发生OOM的时候,去执行这个脚本
网友评论