gpt4 book ai didi

java - 当 JVM 对 SIGQUIT 不响应时,如何找到更多信息?

转载 作者:行者123 更新时间:2023-11-30 11:30:22 25 4
gpt4 key购买 nike

我有一段 Java 代码有时会导致 JVM“挂起”。发生这种情况时,我无法通过 jvisualvm 之类的工具与其通信。 (该工具会说“连接超时”),并且当我发出 SIGQUIT 时它也不会打印线程转储或终止。 (kill -3)。如果我发出 SIGABRT ( kill -6 ),该过程将终止。

因此,我无法获取线程转储,也无法找出其内存中的内容。在这种情况下如何获得更多信息?如果有帮助,操作系统是 OSX我的 JVM 版本是
Java(TM) SE Runtime Environment (build 1.6.0_51-b11-457-11M4509)
Java HotSpot(TM) 64-Bit Server VM (build 20.51-b01-457, mixed mode)

最佳答案

你不能,这就是它被称为“挂起”的原因。由于内部问题(例如无限循环、死锁...),JVM 进程无响应,因此它不会响应。这可能是由于 JVM 实现中的错误。您可以尝试调试 JVM 以了解发生了什么。 HotSpot 是 GPL,因此您也可以获得源代码。

如果您怀疑代码中的某些内容导致此挂起(例如,当您执行特定操作时 JVM 总是挂起),您可以粘贴它以便我们查看。

关于java - 当 JVM 对 SIGQUIT 不响应时,如何找到更多信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17817167/

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