我正在运行Ubuntu服务器版,我想采取Tomcat的线程转储.
所以,我首先尝试找出哪个PID tomcat使用:
$ jps -l
5809 sun.tools.jps.Jps
Run Code Online (Sandbox Code Playgroud)
但它不在那里?
所以,我用了之后top发现了PID 5730.
然后我调用jstack来获取线程转储:
$ sudo jstack -l 5730
5730: 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
Run Code Online (Sandbox Code Playgroud)
这是怎么回事?:-(
我已经尝试按照Jstack中的描述导出CATALINA_TMPDIR,并且Jstat停止使用升级到JDK6u23但是没有改变任何东西:
$ export CATALINA_TMPDIR=/tmp
$ sudo /etc/init.d/tomcat6 restart
* Stopping Tomcat servlet engine tomcat6
...done.
* Starting Tomcat servlet engine tomcat6
...done.
$ sudo jstack -l 5934 // …Run Code Online (Sandbox Code Playgroud)