cpu飙风处理步骤
1.top查找出哪个进程消耗的CPU高(tcp -c)
2.top -h -p 查找出哪个线程消耗的cpu高 (tcp -h -p pid) 这个命令就能显示刚刚找到的所有线程的资源消耗情况。
3.printf%x进行pid的进制转换 找到CPU负载高的线程 pid 8627,把这个数字转化成16进制 ,21B3 (10进制转化16进制)
4.jatsack记录进程的堆栈信息
- 找出消耗的CPU最高的线程信息
先初步 排查是否是gc问题
通过 jstat -gc pid 命令查看 gc 情况,发现进行了 20w 多次 young gc,full gc 只有不到 10 次,于是怀疑是 gc 问题。