cpu使用率过高排查

299 阅读1分钟
命令结果备注
top c获取到PID,USER,CPU占用率等进程信息查看各linux进程对系统资源的使用情况
top -H -p PID1.出现具体线程的资源使用情况,表格里的pid代表线程的id,我们称他为tid查看实际占用CPU最高的的线程的id (pid为刚才资源使用高的pid号)
printf "%x\n" tid1ab将线程tid转换为16进制,因为我们线程id号在堆栈里是16进制的所以需要做一个进制转换
Jstack pidgrep 1ab >gc.stackjstack生成JVM当前时刻的线程快照,然后我们可以通过它查看某个Java进程内的线程堆栈信息,之后我们把堆栈信息通过管道收集1ab线程的信息,然后将信息生成为gc.stack文件

python -m SimpleHTTPServer 8080,linux自带python,这个是开启一个简单http服务供外界访问后登录跳板机,使用curl下载curl -o http://10.251:55:132:8080/gcInfo.stack

之后用同样的方法从本地下载跳板机就可以了,记得关闭python开启的建议服务

在文件中搜索”1ab”,找到nid为1ab的堆栈信息,找到对应的impl根