top命令输出解释以及load average 详解及排查思路
程序员文章站
2022-04-12 23:26:19
...
top命令输出解释以及load average 详解及排查思路
当1分钟多于15个进程等待,5分钟多于10个,15分钟多于5个则为warning状态
当1分钟多于30个进程等待,5分钟多于25个,15分钟多于20个则为critical状态
cat /proc/loadavg
[aaa@qq.com ~]# cat /proc/loadavg
0.00 0.03 0.09 1/122 1254
前三个数字是1、5、15分钟内的平均进程数。
后面的 1/122 一个的分子是正在运行的进程数,分母是进程总数;
1254是最近运行的进程ID号。
top
上半部分
-
13:48:23为当前系统运行时间
-
up 系统运行时间为7分钟
-
user 当前登录用户数
-
load average 0.16 0.24 0.16 系统负载,任务队列不同时间段平均长度,分别为1分钟,5分钟,15分钟前到现在
-
Tasks 105 total, 当前进程总数系统平均负载被定义为:在特定时间间隔内运行队列中(在CPU上运行或者等待运行多少进程)的平均进程数。
-
1 running 正在运行的进程数
-
104 sleeping 睡眠的进程数
-
0 stopped 停止的进程数
-
0 zombie 僵尸进程数
-
Cpu(s):
- 1.5 us, 用户空间占用CPU百分比
- 0.0 sy, 内核空间占用CPU百分比
- 0.0 ni, 用户进程空间内改变过优先级的进程占用CPU百分比
- 98.5 id, 空闲CPU
- 0.0 wa, 等待输入输出的CPU时间百分比
- 0.0 hi, 硬中断
- 0.0 si, 软中断
-
Mem
- 2027952 total, (2G) 内存总容量
- 171348 free, (171M) 空闲内存总量
- 1730848 used, (1.7G) 使用的物理内存总量
- 125756 buff/c, (125M) 用做内核缓存的内存量
-
Swap
- 1048572 total (1G) 交换分区总量
- 1048572 free (1G) 空闲的交换分区总量
- 0 used (0M) 使用的交换分区总量
- 1713400 avail (1.7G) 可用的交换分区总量
下半部分
- PID:进程ID
- USER: 真实用户名称
- PR: 优先级
- NI: Nice值,负值表示高优先级,正值表示低优先级
- VIRT:进程使用的虚拟内存总量,单位kb VIRT=SWAP+RES
- RES:进程使用的、未被换出的物理内存大小,单位kb RES=CODE+DATA
- SHR:共享内存大小,单位kb
- S:进程状态 D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
- %CPU 上次更新到现在的CPU时间占用百分比
- %MEM 进程使用的物理内存百分比
- TIME+ 进程使用的CPU时间总计,单位1/100秒
- COMMAND 命令名/命令行 进程名称
运行队列,没有等待IO,没有WAIT,没有KILL的进程通通都进这个队列。
- 它没有在等待I/O操作的结果
- 它没有主动进入等待状态(也就是没有调用’wait’)
- 没有被停止(例如:等待终止)
CPU利用率和load average的区别
更详细的解释
https://blog.csdn.net/zhangchenglikecc/article/details/52103737