top命令
[root@localhost ~]# top
top - 12:40:09 up 8 min, 2 users, load average: 0.01, 0.12, 0.12
Tasks: 455 total, 1 running, 454 sleeping, 0 stopped, 0 zombie
%Cpu(s): 1.4 us, 1.9 sy, 0.0 ni, 93.7 id, 3.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 2902976 total, 1086748 used, 1816228 free, 884 buffers
KiB Swap: 2113532 total, 0 used, 2113532 free. 248536 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3281 root 20 0 123980 1824 1100 R 6.0 0.1 0:00.02 top
1 root 20 0 52864 6716 3764 S 0.0 0.2 0:02.32 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.04 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.47 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
第一行load average含义
linux系统中的Load对当前CPU工作量的度量。也有简单的说是进程队列的长度。Load Average 就是一段时间 (1 分钟、5分钟、15分钟) 内平均 Load 。
单核处理器
假设我们的系统是单CPU单内核的,把它比喻成是一条单向马路,把CPU任务比作汽车。当车不多的时候,load <1;当车占满整个马路的时候 load=1;当马路都站满了,而且马路外还堆满了汽车的时候,load>1
多核处理器
我们经常会发现服务器Load > 1但是运行仍然不错,那是因为服务器是多核处理器(Multi-core)。
假设我们服务器CPU是2核,那么将意味我们拥有2条马路,我们的Load = 2时,所有马路都跑满车辆。
Load = 2时马路都跑满了
第二行 进程信息
- total 进程总数
- running 正在运行的进程数
- sleeping 睡眠的进程数
- stopped 停止的进程数
- zombie 僵尸进程数
第三行 CPU信息
- 0.3% us 用户空间占用CPU百分比
- 1.0% sy 内核空间占用CPU百分比
- 0.0% ni 用户进程空间内改变过优先级的进程占用CPU百分比
- 98.7% id 空闲CPU百分比
- 0.0% wa 等待输入输出的CPU时间百分比
- 0.0%hi:硬件CPU中断占用百分比
- 0.0%si:软中断占用百分比
- 0.0%st:虚拟机占用百分比
最后两行为内存信息
Mem:
- 191272k total 物理内存总量
- 173656k used 使用的物理内存总量
- 17616k free 空闲内存总量
- 22052k buffers 用作内核缓存的内存量
Swap :
- 192772k total 交换区总量
- 0k used 使用的交换区总量
- 192772k free 空闲交换区总量
- 123988k cached 缓冲的交换区总量,内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,该数值即为这些内容已存在于内存中的交换区的大小,相应的内存再次被换出时可不必再对交换区写入。