top的功能是实时监控系统内进程活动信息,也包括CPU利用率、进程状态、内存利用率等信息,为系统管理员提供实时监控系统的工具。

top - 11:15:06 up 1 day, 15:34,  1 user,  load average: 0.10, 0.22, 0.26
Tasks: 124 total,   1 running, 123 sleeping,   0 stopped,   0 zombie
%Cpu(s):  8.4 us,  2.9 sy,  0.0 ni, 88.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  2029032 total,    96756 free,  1154300 used,   777976 buff/cache
KiB Swap:        0 total,        0 free,        0 used.   623812 avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                                                      
  1595 root      20   0  774404 629916  21632 S  17.9 31.0 175:35.22 kube-apiserver                                                                                                                               
  1245 root      20   0 7604488 231740  41288 S   5.0 11.4 125:54.88 etcd                                                                                                                                         
  1684 root      20   0 1124796  48988  12556 S   1.3  2.4  48:54.29 kubelet                                                                                                                                      
   750 root      20   0   48432  14232  13720 S   0.3  0.7  27:03.07 systemd-journal                                                                                                                              
  1289 root      20   0  143696  48328  27024 S   0.3  2.4   4:40.51 kube-scheduler                                                                                                                               
  1622 root      20   0  332544  30724  20672 S   0.3  1.5   2:47.29 flanneld                                                                                                                                     
  1701 root      20   0  391248  14088   4688 S   0.3  0.7   4:48.56 containerd                                                                                                                                   
 13159 root      20   0  162144   4548   3808 R   0.3  0.2   0:00.04 top                                                                                                                                          
     1 root      20   0  125492   5184   3804 S   0.0  0.3   0:44.62 systemd                                                                                                                                      
     2 root      20   0       0      0      0 S   0.0  0.0   0:00.02 kthreadd                                                                                                                                     
     3 root      20   0       0      0      0 S   0.0  0.0   0:03.80 ksoftirqd/0                                                                                                                                  
     5 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H                                                                                                                                 
     7 root      20   0       0      0      0 S   0.0  0.0   2:30.09 rcu_sched                                                                                                                                    
     8 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcu_bh                                                                                                                                       
     9 root      20   0       0      0      0 S   0.0  0.0   4:15.79 rcuos/0                                                                                                                                      
    10 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcuob/0                                                                                                                                      
    11 root      rt   0       0      0      0 S   0.0  0.0   0:01.92 migration/0                                                                                                                                  
    12 root      rt   0       0      0      0 S   0.0  0.0   0:00.76 watchdog/0                                                                                                                                   
    13 root      rt   0       0      0      0 S   0.0  0.0   0:00.73 watchdog/1                                                                                                                                   
    14 root      rt   0       0      0      0 S   0.0  0.0   0:01.92 migration/1                                                                                                                                  
    15 root      20   0       0      0      0 S   0.0  0.0   0:06.79 ksoftirqd/1                                                                                                                                  
    18 root      20   0       0      0      0 S   0.0  0.0   0:52.27 rcuos/1                                                                                                                                                                                                                                                

第一行用于显示系统的活动信息
请在这里输入引用内容
当前时间
系统启动后所经历的 时间
系统中的当前用户数
系统负载在最近1分钟、5分钟、15分钟内的负载平均值。

第二行为系统内进程信息
请在这里输入引用内容
当前系统的进程总数
当前系统正在运行的进程数
当前系统休眠的进程数
当前系统进程停止状态的进程数
当前系统进程处于僵死状态的进程数

第三行为与CPU相关的信息
请在这里输入引用内容
us:进程在用户地址空间中消耗 CPU 时间的百分比。
sy:进程在内核地址空间中消耗 CPU 时间的百分比。
ni:可以通过 nice 值调整进程用户态的优先级。
id:CPU 处于 idle 状态的百分比。一般情况下, us + ni + id 应该接近 100%。
wa:CPU 等待磁盘 IO 操作的时间。
hi & si:这两个值表示系统处理中断消耗的时间。中断分为硬中断和软中断,hi 表示处理硬中断消耗的时间,si 表示处理软中断消耗的时间。
st:只有 Linux 在作为虚拟机运行时 st 才是有意义的。

第四行为内存情况
请在这里输入引用内容
total 列显示系统总的可用物理内存大小。
free 列显示还有多少物理内存可用。
used 列显示已经被使用的物理内存。
buff/cache 列显示被 buffer 和 cache 使用的物理内存大小。

第五行为交换分区使用事情
请在这里输入引用内容
total 列显示系统总的可用交换空间大小。
free 列显示还有多少交换空间可用。
used 列显示已经被使用的交换空间。
available 列显示还可以被应用程序使用的物理内存大小。

第六行为任务的具体分类
请在这里输入引用内容
PID:表示进程ID。
USER:表示进程所有者的有效用户名称。
PR:表示进程执行的优先级,PR 的值是以 Linux 内核的视角看到的进程执行的优先级。
NI:从用户视角看到的进程执行优先级。注意上图中NI值为-20的两个进程,它们的PR值都是0。
VIRT:表示进程使用的虚拟内存大小。
RES:表示进程使用的物理内存大小。
SHR:表示进程使用的共享内存的大小。
S:表示进程当前的状态。S 值有下面几种:
D:不可中断的睡眠状态(uninterruptible sleep)
I:idle 状态
R:进程在 running 队列中,正在运行或准备运行(running)
S:睡眠状态(sleeping)
T:停止状态(stopped by job control signal)
t:跟踪状态(stopped by debugger during trace)
Z:僵尸状态(zombie)
%CPU:表示进程使用 CPU 的百分比。
%MEM:表示进程使用内存的百分比。
TIME+:表示进程累计使用的 CPU 时间。
COMMAND:表示运行进程对应的程序。

常用快捷键:

f 可以进入任务信息的配置界面添加更多的信息

e 来进行切换,比如我可以把它切换为以 MB 为单位

1 可以查看各个 CPU 核心单独的数据

W 保存修改的配置

M 以 %MEM 列排序

N 以 PID 列排序

P 以 %CPU 列排序

T 以 TIME+ 列排序

R 可以将当期排序的结果反转。

c 来切换 COMMAND 列的显示模式

u 查看以某个用户权限启动的进程

h 或者是 ? 可以打开 top 命令的帮助文档