JVM--线程运行诊断
-
CPU占用内存过多
- 定位进程id:top
- 定位线程id:ps H -eo pid,tid,%cpu| grep 进程id
- jstack 进程id,可以根据线程id找到有问题的线程(一般为Thread-开头,需要把ps获取的线程id转换成16进制的)
-
程序运行很长时间没有结果
- jstack 进程id,查看最后面的输出文本,发现出现了死锁
- 定位进程id:top
- 定位线程id:ps H -eo pid,tid,%cpu| grep 进程id
- jstack 进程id,可以根据线程id找到有问题的线程(一般为Thread-开头,需要把ps获取的线程id转换成16进制的)
- jstack 进程id,查看最后面的输出文本,发现出现了死锁