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



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

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

与其试图弄清楚如何重定向,不如使用一个可以随心所欲的工具。其中任何一个:

  • jstack
  • jcmd(使用Thread.print
  • astack

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

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

请注意,它不重定向,而是启用JVM诊断日志记录。所以,也有可能是过头了。

正如Matt所建议的,您可以使用jstack(etc)来捕获文件中的线程转储。为此,您可以简单地复制服务器中的JDK目录。但是,如果你想包装&将JDK与您的应用程序一起发货(稍后进行调试)请检查是否有任何许可含义。

最新更新