总结查看系统负载的几种命令,总结top命令的指标大概什么含义

发布时间 2023-10-07 14:22:57作者: 小糊涂90

[12:57:20 root@centos8 ~]#uptime
12:57:22 up 2 min,  1 user, load average: 0.12, 0.15, 0.07

12:57:22 up 2 min 系统当前时间12:57:22,up表示系统运行的状态,开机运行了2分钟

1 user 一个用户登录系统

load average: 0.12, 0.15, 0.07   表示最近1,5,15分钟的系统负载情况12%,15%,7%

[13:02:12 root@centos8 ~]#mpstat
Linux 4.18.0-240.el8.x86_64 (centos8.magedu.org)        10/17/2021     _x86_64_       (2 CPU)

01:02:18 PM CPU   %usr   %nice   %sys %iowait   %irq   %soft %steal %guest %gnice   %idle
01:02:18 PM all    1.33    0.00    1.29    0.04    0.14    0.09    0.00    0.00    0.00   97.12

mpstat 一次性返回系统负载情况

mpstat 1 3 每秒显示一次负载,共输出三次

字段的含义:

CPU: 处理器编号。关键字all表示统计信息计算为所有处理器之间的平均值。

%usr: 显示在用户级(应用程序)执行时发生的CPU利用率百分比。

%nice: 显示以优先级较高的用户级别执行时发生的CPU利用率百分比。

%sys: 显示在系统级(内核)执行时发生的CPU利用率百分比。请注意,这不包括维护硬件和软件的时间中断。

%Iowait: 显示系统具有未完成磁盘I / O请求的CPU或CPU空闲的时间百分比。

%irq: 显示CPU或CPU用于服务硬件中断的时间百分比。

%soft: 显示CPU或CPU用于服务软件中断的时间百分比。

%steal: 显示在虚拟机管理程序服务另一个虚拟处理器时虚拟CPU或CPU无意中等待的时间百分比。

%guest: 显示CPU或CPU运行虚拟处理器所花费的时间百分比。

%idle: 显示CPU或CPU空闲且系统没有未完成的磁盘I / O请求的时间百分比。


[13:02:18 root@centos8 ~]#top
top - 13:09:55 up 15 min,  1 user, load average: 0.00, 0.00, 0.00
Tasks: 169 total,   1 running, 168 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.2 hi,  0.2 si,  0.0 st
MiB Mem :   1949.4 total,   1395.6 free,    292.5 used,    261.3 buff/cache
MiB Swap:   2048.0 total,   2048.0 free,      0.0 used.   1496.4 avail Mem

  PID USER     PR NI   VIRT   RES   SHR S %CPU %MEM     TIME+ COMMAND
  1514 root      20   0       0      0      0 I   0.3   0.0   0:00.71 kworker/1:0-events
  1588 root      20   0       0      0      0 I   0.3   0.0   0:00.27 kworker/0:0-event+
     1 root      20   0  177364  11268   8368 S   0.0   0.6   0:01.38 systemd
     2 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kthreadd
     3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp
     4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_par_gp
     6 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker/0:0H-kblo+
     8 root      20   0       0      0      0 I   0.0   0.0   0:00.10 kworker/u256:0-bo+
     9 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 mm_percpu_wq
    10 root      20   0       0      0      0 S   0.0   0.0   0:00.01 ksoftirqd/0

第一行,返回结果相当于uptime
top - 13:09:55 up 15 min,  1 user, load average: 0.00, 0.00, 0.00

第二行,返回结果是任务进程信息。
Tasks: 169 total,   1 running, 168 sleeping,   0 stopped,   0 zombie
169 total , “所有启动的进程数”
1 running , “正在运行的进程数”
168 sleeping , “挂起的进程数”
0 stopped , “停止的进程数”
0 zombie , “僵尸进程数”

第三行,返回结果是cpu相关信息。类似mpstat,sar命令返回结果
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.2 hi,  0.2 si,  0.0 st
0.0 us , “用户空间占用CPU百分比”、
0.0 sy , “内核空间占用CPU百分比”、
0.0 ni , “用户空间内改变过优先级的进程占用CPU百分比”、
99.7 id , “空闲CPU百分比”、
0.0 wa , “等待输入输出CPU时间百分比”、
0.2 hi , “CPU服务于硬件中断所耗费的时间总额”、
0.2 si , “CPU服务软中断所耗费的时间总额”、
0.0 st , “Steal Time是指虚拟机vm需要执行某个命令但是没有抢到物理cpu来执行的时间”

第四五行,返回结果是内存相关信息,类似free命令
MiB Mem :   1949.4 total,   1395.6 free,    292.5 used,    261.3 buff/cache
MiB Swap:   2048.0 total,   2048.0 free,      0.0 used.   1496.4 avail Mem
显示内容依次为“物理内存总量”、“已使用的物理内存”、“空闲物理内存”、“内核缓存内存量”。
显示内容依次为“交换区总量”、“已使用交互区总量”、“空闲交换区总量”、“缓冲的交换区总量”。

第六行,“PID USER     PR NI VIRT RES SHR S %CPU %MEM   TIME+ COMMAND ”显示内容依次为“进程ID”、“进程所有者”、“优先级”、“nice值,负值表示高优先级,正值表示低优先级”、“进程使用的虚拟内存总量”、“进程使用的、未被换出的物理内存大小”、“共享内存大小”、“进程状态”、“上次更新到现在的CPU时间占用百分比”、“进程使用的物理内存百分比”、“进程使用CPU总时间”、“命令名、命令行”。