top命令通常都是用来查看当前系统情况的命令;具体参数可以
top - 去查看
第一行主要是介绍当前系统运行了54天 当前5个登录用户 load average表示系统平均负载(在特定时间间隔内运行队列中在CPU上运行或者等待运行多少进程的平均进程数)
查看load average可以 cat /proc/loadavg 去查看
前三个数字是1、5、15分钟内的平均进程数。后面的 1/3031 一个的分子是正在运行的进程数,分母是进程总数;另一个是最近运行的进程ID号。
没有等待IO,没有主动进入WAIT状态,没有被KILL的进程都在这个运行队列中。
通常1核 load average 在0-1之间,多核则n*0-1
查看逻辑CPU个数
cat /proc/cpuinfo | grep "processor" | wc -l
第2、3行为进程和CPU的信息
当有多个CPU时,这些内容可能会超过两行,其参数如下:
内容 含义
159 total 进程总数
1 running 正在运行的进程数
158 sleeping 睡眠的进程数
0 stopped 停止的进程数
0 zombie 僵尸进程数
37.0 us 用户空间占用CPU百分比
3.7 sy 内核空间占用CPU百分比
0.0 ni 用户进程空间内改变过优先级的进程占用CPU百分比
59.3 id 空闲CPU百分比
0.0 wa 等待输入输出的CPU时间百分比
0.0 hi 硬中断(Hardware IRQ)占用CPU的百分比
0.0 si 软中断(Software Interrupts)占用CPU的百分比
0.0 st
第四行 运行内存状态
16266432(kb) total — 物理内存总量(16GB)
165224(kb) used — 使用中的内存总量(161.3MB)
14518328(kb) free — 空闲内存总量(13.8GB)
1582880(kb) buffers — 缓存的内存量 (1.5GB)
第五行 swap交换分区信息
可用内存=free + buffer + cached
VIRT | 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES |
RES | 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA |
SHR | 共享内存大小,单位kb |