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

故障现像

  tomcat进程的cpu占用高达200%,客户端访问极其缓慢。

用jstack调试

   提示错误:

Unable to open socket file: target process not responding or HotSpot VM not loaded  
The -F option can be used when the target process is not responding  

用尽网上各种方法,jstack始终出错,最终方案:

runuser -l tomcat -c "jstack 739 |grep 312 -A 30" -m  

739为tomcat的进程。
找到问题,解决tomcat的cpu占用问题后再直接用jstack居然又正常了,这是什么鬼?原因现在未知...