解决java调试工具无法连接jvm

1.现象在Linux服务器执行jstack pid查看java堆栈信息时提示错误,无法连接上jvm调试工具

#环境 jdk1.8
Unable to open socket file: target process not responding or HotSpot VM not loaded

2.原因

2.1 jvm运行时会在/tmp目录下生成一个目录hsperfdata_USER(USER是启动java进程的用户),目录里面的pid文件存放着jvm进程信息,jmap,jstack等工具就是读取/tmp/hsperfdata_$USER下的pid文件获取连接信息。
2.2 tomcat里默认配置的地址并不是在/tmp,而是tomcat安装目录下的temp文件夹

3.解决办法

修改tomcat的Djava.io.tmpdir参数,统一使用/tmp目录,修改catalina.sh添加CATALINA_TMPDIR=/tmp即可.


3752088-bb699aa31f712d63.png
修改地址.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值