Java kill 3线程转储输出重定向

时间:2015-11-29 19:03:02

标签: java terminal thread-dump

是否可以重定向kill 3 <java_pid>线程转储输出?

我在拥有多行(> 500mb)的服务器上有大量的system_out.log文件,很难解析并查找转储。

2 个答案:

答案 0 :(得分:2)

而不是试图找出如何重定向只是使用一个你想要的工具。其中任何一个:

答案 1 :(得分:2)

请将以下JVM参数附加到您的应用程序。应该在dump.log中捕获线程转储。

  

-XX:+ UnlockDiagnosticVMOptions -XX:+ LogVMOutput -XX:LogFile = dump.log

请注意,它不会重定向,但会启用JVM诊断日志记录。所以,也可能有头脑。

正如Matt所建议的那样,您可以使用jstack(etc)来捕获文件中的线程转储。为此,您只需复制服务器中的JDK目录即可。但是,如果你想打包&amp;将JDK与您的应用程序一起发送(稍后进行调试)请检查是否存在任何许可含义。