jvm的运行参数
1.三种参数类型
jvm的参数类型分为三类,分别是:
- 标准参数-help -version
- -X参数 (非标准参数) -Xint -Xcomp
- -XX参数(非标准 使用率较高) -XX:newSize -XX:+UseSerialGC
示例如下:
-server与-client参数
64位操作系统 只有server类型,不支持client类型。
-Xint、-Xcomp、-Xmixed
-Xcomp运行快, -Xmixed默认混合最佳
-XX参数
命令:
jstat
只是堆内存的gc
jstat -gc 3999 1000 10
jmap (最重要)
全部内存溢出情况分析
1. 导出内存映像文件
内存溢出自动导出,设置参数既可:
+XX:HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=./
不用多说,设置内存溢出自动导出还有导出的路径
2. 使用jmap命令手动导出:
jmap -dump:format=b,file=heap.hprof [pid]
其中format=b代表用二进制导出
解析:
- jhat的query
- mat工具更加强大
检查内存泄漏等问题:
jstack
有些时候我们需要查看下jvm中的线程执行情况,比如,发现服务器的CPU的负载突然增 高了、出现了死锁、死循环等,我们该如何分析呢?
visualvm:(重要)
远程监控JVM,java进程