JVM学习(三)--生产环境的线程问题诊断

1.如何定位哪个进程对cpu占用过高

使用top命令

2.如何定位到某个进程的具体某个线程

使用ps H -eo pid,tid,%cpu | grep 进程id   (可以具体定位到某个进程的某个线程的cpu占用情况)

3.如何查看有问题线程的具体信息,定位到代码的行数

使用jstack 进程id |grep 32e4 -A20 (这里32e4就是线程的tid的16进制,A20表示显示前20行)可以找到当前进程的所有线程的具体信息,进而具体的代码行数,但是注意这里显示出来的线程tid是16进制,而通过操作2得到的结果是10进制的线程id,需要将十进制转换为16进制,才可以找到对应的线程

你可能感兴趣的:(jvm,jvm,学习,java)