第一种:用top
命令 中的cpu 信息观察
Cpu(s): 0.3% us, 1.0% sy, 0.0% ni, 98.7% id, 0.0% wa, 0.0% hi, 0.0% si
Tasks: 29 total 进程总数
1 running 正在运行的进程数
28 sleeping 睡眠的进程数
0 stopped 停止的进程数
0 zombie 僵尸进程数
Cpu(s):
0.3% us 用户空间占用CPU百分比
1.0% sy 内核空间占用CPU百分比
0.0% ni 用户进程空间内改变过优先级的进程占用CPU百分比
98.7% id 空闲CPU百分比
0.0% wa 等待输入输出的CPU时间百分比
0.0% hi
0.0% si
0.0% wa 的百分比可以大致的体现出当前的磁盘io请求是否频繁。如果 wa的数量比较大,说明等待输入输出的的io比较多。
CPU使用率较低但负载较高,问题描述:
Linux 系统没有业务程序运行,通过 top
观察,类似如下图所示,CPU 很空闲,但是 load average 却非常高:
另外一个查看负载命令uptime
[spuser@tzddbackend01 ServerAgent-2.2.3]$ uptime
09:33:12 up 60 days, 17:00, 1 user, load average: 0.01, 0.03, 0.05
处理办法:
load average 是对 CPU 负载的评估,其值一般与cpu的核心数相当为好,其值越高,说明其任务队列越长,处于等待执行的任务越多。
出现此种情况时,可能是由于僵死进程导致的。可以通过指令 ps -axjf 查看是否存在 D 状态进程。
D 状态是指不可中断的睡眠状态。该状态的进程无法被 kill,也无法自行退出。只能通过恢复其依赖的资源或者重启系统来解决。
CPU占用过高分析,可以用top命令查看哪一个进程占用cpu高 或者哪一个占用内存大
Tasks: 161 total, 1 running, 160 sleeping, 0 stopped, 0 zombie
%Cpu(s): 3.7 us, 0.3 sy, 0.0 ni, 96.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 16267564 total, 271608 free, 9033932 used, 6962024 buff/cache
KiB Swap: 8388604 total, 8364736 free, 23868 used. 5913400 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %M