如何在可配置的时间内暂停 JVM 的执行,类似于在完整、串行、垃圾收集上发生的事情?我想测试一些边缘情况,但是很难通过手动生成垃圾 + System.gc()
来创建我需要的确切暂停。
我正在尝试“卡住”应用程序中的所有线程,以模拟应用程序无响应然后恢复执行的情况。该应用程序是集群的一部分,我正在尝试调试一些离开/加入/重新加入问题。
最佳答案
JVM 挂起可以用 jdb 从命令行完成:
jdb -attach 8787
Initializing jdb ...
> suspend
All threads suspended.
> resume
All threads resumed.
> exit
但这需要用 -Xdebug ...
还有universal way暂停和恢复 Linux/Unix 上的任何进程:
kill -SIGSTOP PID
kill -SIGCONT PID
关于java - 在有限的时间内暂停 JVM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2674292/