JVM性能调优实战(一) - 基于JDK命令行的监控
2018-11-13 本文已影响53人
紫霞等了至尊宝五百年
1 JVM的参数类型

标准参数

X 参数



XX 参数




2 查看JVM运行时参数


查看XX选项的值
- -XX:+PrintCommandLineFlags
-
-XX:+PrintFlagsInitial -XX:+PrintFlagsFinal
重定向到文本文件
jps


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的时候,去执行这个脚本