gpt4 book ai didi

没有 jstack 的 Java 线程转储

转载 作者:太空宇宙 更新时间:2023-11-04 10:04:21 27 4
gpt4 key购买 nike

我需要从命令行(ubuntu 服务器)监视 java 线程状态以与 Icinga 监视器一起使用。但是我不能使用 jps、jstack 和 jcmd 命令,因为不允许在生产服务器上安装 JDK。

ps命令的进程id

# ps -ef| grep [s]tart.jar | cut -d' ' -f6
1201

但我正在努力收集 java 线程转储。我尝试使用 kill -3 但无法获得任何输出。

是否有任何其他替代方法可以从命令行收集 java 线程状态?

最佳答案

我找到了在执行 kill -3 <pid> 时捕获线程转储的方法.我在 Jetty 服务器中的 JAVA_OPTIONS 添加了以下选项,这有助于在指定位置记录线程转储。

-XX:+UnlockDiagnosticVMOptions -XX:+LogVMOutput -XX:LogFile=/var/log/jetty9/threaddump.log

现在执行kill -3 <pid>命令在 threaddump.log 中记录线程转储,用于了解线程的状态。

关于没有 jstack 的 Java 线程转储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53680254/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com