在生产环境中有可能出现某java程序使用资源特别严重,这就需要找到该java进程,然后通过进程去找到是哪个线程的问题,这里我们就是用pidstat工具来排查一下
安装pidstat工具
yum -y install sysstat
查看java服务的pid
jps
通过pid查看线程cpu的使用
pidstat -p 1603 1 3 -u -t
#-p指定进程的pid
#1 3 间隔1s输出一次结果,共输出三次
#-u 查找cpu资源使用率
#-t 输出该进程下的所有线程使用率
通过pid查看线程io的使用
pidstat -p 1603 -d -t 1 3
#-d 输出io的使用情况
通过jstack命令也可以分析
jstack -l 1603
线程的tid值转为16进制就是nid值