gpt4 book ai didi

java - jstack -F 如何影响正在运行的 Java 进程?

转载 作者:IT老高 更新时间:2023-10-28 21:12:56 26 4
gpt4 key购买 nike

我正在尝试诊断我正在使用的 Java Web 应用程序 (Jenkins) 变得无响应的问题。如果我在没有 -F 标志的情况下运行 jstack 它不会给我任何东西,但是如果我将标志放入强制线程转储,我不仅会得到结果,但应用程序开始响应并继续运行,就好像什么都没发生一样,直到它最终再次停止响应。

jstack -F 标志做了什么会影响正在运行的 JVM 并导致无响应的应用程序再次开始响应?

最佳答案

你可以看到jstack的源代码here . -F 参数改变 jstack 连接到 jvm 的方式。使用 -F(或 -m),JStack 使用 java 调试器接口(interface)连接到 jvm。如果指定了 pid,则 JStack 与 SA PID Attaching Connector 连接。它说,

The process to be debugged need not have been started in debug mode(ie, with -agentlib:jdwp or -Xrunjdwp). It is permissable for the process to be hung.

我不知道为什么它会导致无响应的应用程序再次开始响应,但上面的链接也说,

The process is suspended when this connector attaches and resumed when this connector detaches.

这可能会产生影响。

关于java - jstack -F 如何影响正在运行的 Java 进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12061226/

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