是否可以重定向kill 3 <java_pid>
线程转储输出?
我在拥有多行(> 500mb)的服务器上有大量的system_out.log文件,很难解析并查找转储。
答案 0 :(得分:2)
答案 1 :(得分:2)
请将以下JVM参数附加到您的应用程序。应该在dump.log中捕获线程转储。
-XX:+ UnlockDiagnosticVMOptions -XX:+ LogVMOutput -XX:LogFile = dump.log
请注意,它不会重定向,但会启用JVM诊断日志记录。所以,也可能有头脑。
正如Matt所建议的那样,您可以使用jstack(etc)来捕获文件中的线程转储。为此,您只需复制服务器中的JDK目录即可。但是,如果你想打包&amp;将JDK与您的应用程序一起发送(稍后进行调试)请检查是否存在任何许可含义。