c4rt1y

访问jvm遇到Unable to open socket file

0x01 介绍

最近用jstack对java进程进行dump,发现爆了Unable to open socket file,进行了排查问题,故有此文。

0x02 故事的故事

第一种情况是 java进程开启 开启了-XX:+DisableAttachMechanism
第二种情况是 tomcat默认存放pid的地址为/tmp/hsperfdata_$(USER) ,但是/tmp是存在一个缓存机制,会删除30天以前的/tmp下的文件,然后使用jstack的话,会读取,他就去找/tmp/hsperfdata_$(USER)这个文件,发现文件消失了,然后报错.

0x03 资料来源

https://blog.csdn.net/weixin_34348111/article/details/91850538
https://blog.csdn.net/u014493323/article/details/107444404
GoTop