[alibaba/arthas]arthas 不支持打断指定线程

2024-07-17 306 views
3
环境信息
  • arthas-boot.jar 或者 as.sh 的版本: 3.6.7
  • 操作系统版本: Linux 3.10.0-229.el7.x86_64
  • 目标进程的JVM版本: hotstop 1.8
重现问题的步骤

image

发现某个服务中由于使用错误的容器导致线程死循环,想打断该线程,但是不支持该功能

期望的结果

vmtool 支持打断指定线程

实际运行的结果

不支持此功能

尝试使用InterruptThread去打断该线程,发现只会给该线程打上interrupted的标记,并不会中断线程. 尝试使用StopThread去停止该线程, 发现会导致JVM carsh. 问题: 是否有别的方式安全的终止某个线程

回答

9

线程有死循环的线程,在最新版本的arthas里试了下:vmtool --action interruptThread -t 线程ID,发现只是线程的interrupt标记为true,似乎并不能中断线程。

6

是的, 使用这种方式是不能打断死循环的线程的, 只能打断非死循环的线程