Bootstrap

Java应用导致CPU负载过高调优案例

1、Linux系统中CPU占用率较高排查思路

Linux 运维工程师,在日常工作中我们会遇到 Linux服务器上出现CPU负载达到100%居高不下的情况,如果CPU 持续跑高,则会影响业务系统的正常运行,带来企业损失。

对于CPU过载问题通常使用以下两种方式即可快速定位:

  • 方法一

第一步:

top命令,然后按shift+p按照CPU排序

找到占用CPU过高的进程的pid。

第二步:

top -H -p [进程id]

找到进程中消耗资源最高的线程的id。

第三步:

echo 'obase=16;[线程id]' | bc或者printf "%x\n" [线程id] 

将线程id转换为16进制(字母要小写),bc是linux的计算器命令。

第四步:

jstack [进程id] |grep -A 10 [线程id的16进制]”

查看线程状态信息。

  • 方法二

第一步:

top命令
;