jvm的运行参数

1.三种参数类型

jvm的参数类型分为三类,分别是:

  1. 标准参数-help -version
  2. -X参数 (非标准参数) -Xint -Xcomp
  3. -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代表用二进制导出

解析:

  1. jhat的query
  2. mat工具更加强大
    检查内存泄漏等问题:

jstack

有些时候我们需要查看下jvm中的线程执行情况,比如,发现服务器的CPU的负载突然增 高了、出现了死锁、死循环等,我们该如何分析呢?

jvm优化总结

visualvm:(重要)
远程监控JVM,java进程

相关文章: