JVM性能调优监控工具 jvisualvm.exe

一、问题现状

现实企业级Java开发中,有时候我们会碰到下面这些问题:
OutOfMemoryError,内存不足
内存泄露
线程死锁
锁争用(Lock Contention)
Java进程消耗CPU过高

二、hprof文件的生成

在运行时候添加JVM 参数:

-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=自定义路径
三、tomcat中设置jvm参数

linux系统
1.打开/tomcat_home/bin/catalina.sh文件
2.加上:JAVA_OPTS="$JAVA_OPTS -server -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=D:\heapdump"
注:其中不设-XX:HeapDumpPath时,dump出的文件在/tomcat_home/bin目录下

Windows系统
1.打开/tomcat_home/bin/catalina.bat文件
2.加上:set JAVA_OPTS=%JAVA_OPTS% -server -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=D:\heapdump

四、jvisualvm 安装和使用

安装好jdk后,我们进到jdk的安装目录下,一般默认是 C:\Program Files\Java\jdk1.8.0_261\这个文件目录,然后在进到bin目录下找到 jvisualvm.exe 文件了
然后双击打开,打开之后我们可以看到以下界面
在这里插入图片描述

然后双击左上角的装入快照
在这里插入图片描述

文件类型选择堆
在这里插入图片描述

然后找到本地存放.hprof文件目录打开就可以了
打开之后我们点击类就会出现以下界面
在这里插入图片描述

可以看到我这个内存溢出文件是byte数组太多导致的。

注:在linux服务器上,安装好jdk后,直接命令行运行 jvisualvm即可。但是linux服务器需要带图形化界面。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值