JVM系列---【visualvm的使用】

visualvm的使用

visualvm是java提供的一个监控工具,可以用来查看线程,堆使用情况,cpu,类等使用情况的一个工具,JDK8及之前自带,JDK9之后就只支持单独下载了。我们可以用来实时查看本地或远程的程序运行状态,也可以支持导入dump快照文件来查看快照状态,一般生产用快照多一点。

生成dump快照的两种方法

方法一:
在启动参数中加入下面的参数,这样会在系统OOM的时候自动打印dump文件,一般生成在项目根目录下,名字一般叫java_pid4545.hprof。

#如果不指定-XX:HeapDumpPath=/Users/csh,就会生成到项目根目录下
-Xmx10m -Xms10m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/Users/csh

方法二:
使用jmap命令拿到当前快照

# 不指定文件生成位置,dump文件就生成在当前目录
jmap -dump:file=[filename] [pid]
#指定文件生成目录
jmap -dump:live,format=b,file=/path-you-want-to-save/java-heap-dump.hprof  89473


pid为1

使用visualvm工具进行分析

猜你喜欢

转载自blog.csdn.net/weixin_44988127/article/details/131630588