我有一台服务器,有时在退出时挂起.挂起仅发生在大约1/10或更短的时间内,到目前为止,我们还没有找到可靠地重现问题的方法.我遍历了我的代码,以为我要关闭所有资源并杀死线程,但是很明显有时候我不正确.
当我无法可靠地重新创建调试提示时,有人可以提出调试提示来帮助我进行测试吗?我曾尝试运行JVisualVM,一旦它出现故障,但它对我没有什么帮助,然后向我展示sigterm线程仍在运行,并且所有CPU的运行速度均为0%,我认为这意味着某个地方出现了死锁.
解决方法:
当进程挂起时,您可以将SIGQUIT(kill -3)发送到该进程,它将生成一个线程转储.输出将输出到stderr,因此请确保已将其捕获.