我有一个Java进程。我log4j
用于记录目的。我已经指定log4j.xml
了日志文件的位置和名称。日志记录工作正常。kill -3
我这里的日志有问题。
我试图使用kill -QUIT <pid>/ killl -3 <pid>
. 我希望生成的转储kill -3
在log4j.xml
.
但事实并非如此。我需要转储到观察者线程状态。我不知道任何其他方式来获取正在运行的进程的进程转储。
我有一个Java进程。我log4j
用于记录目的。我已经指定log4j.xml
了日志文件的位置和名称。日志记录工作正常。kill -3
我这里的日志有问题。
我试图使用kill -QUIT <pid>/ killl -3 <pid>
. 我希望生成的转储kill -3
在log4j.xml
.
但事实并非如此。我需要转储到观察者线程状态。我不知道任何其他方式来获取正在运行的进程的进程转储。
我需要转储到观察者线程状态。我不知道任何其他方式来获取正在运行的进程的进程转储。
你可以用jstack
这个。
kill -3
应该输出到标准输出,所以它应该是你的标准输出的任何地方。如果没有,您可以尝试使用-XX:LogFile
JVM 选项。
替代方法是jstack
NPE 建议的。
另一种选择是使用jvisualvm
- 它会在其漂亮的 GUI 中生成 stackdump,您可以从那里复制它。