摘自:
一个应用占用CPU很高,除了确实是计算密集型应用之外,通常原因都是出现了死循环。 下面我们将一步步定位问题,详尽的介绍每一步骤的相关知识。
一、通过top命令定位占用cpu高的进程
执行top命令得到以下结果:
通过上图可以明显看出进程PID41843占用cpu过高,明显存在问题,定位到了进程id。当然如果你想只观察进程PID41843的CPU和内存以及负载情况,可以使用以下命令
top -p 41843
结果如下:
这里顺便解释下上图各个参数的意义,有利于读者更好的排查问题。
1、 第一行是任务队列信息 top – 14:06:34 up 537 days, 6 min, 6 users, load average: 0.41, 0.45, 0.43
任务队列信息 含义
14:06:34 当前时间
537 days 系统运行时间
6 min 用户在线时间
6 users 在线用户数
load average: 0.41, 0.45, 0.43 系统负载,即任务队列的平均长度。1分钟前、5