top命令的功能是用于实时显示系统运行状态,包含处理器、内存、服务、进程等重要资源信息。运维工程师们常常会把top命令比作是“加强版的Windows任务管理器”,因为除了能看到常规的服务进程信息以外,还能够对处理器和内存的负载情况一目了然,实时感知系统全局的运行状态,非常适合作为接手服务器后执行的第一条命令。

语法格式:top [参数] [对象]

常用参数:

-a按内存使用情况排序
-b使用批处理模式,不进行交互式显示
-c使用显示模式
-d设置显示的更新速度
-h显示帮助信息
-i不显示任何闲置或僵死的行程
-M显示内存单位
-n设置显示的总次数,完成后自动退出
-p仅显示指定进程 ID 的信息
-s使用安全模式,不允许交互式指令
-u仅显示与指定用户 ID 匹配的进程
-v使用线程模式
-w设置显示的宽度

参考示例

以默认格式显示系统运行信息:

[root@linux-arae-cc ~]# top
top - 02:48:56 up 20 min,  1 user,  load average: 0.00, 0.00, 0.04
Tasks: 432 total,   1 running, 431 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni, 99.9 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 s
MiB Mem :   1966.1 total,    172.1 free,   1339.3 used,    454.7 buff/cache
MiB Swap:   2048.0 total,   2033.5 free,     14.5 used.    443.4 avail Mem 
   PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                    
  2341 root      20   0 4512280 166396  89992 S  12.5   8.3   0:05.15 gnome-shell                
  2848 root      20   0  177712  28820   7700 S   6.2   1.4   0:01.31 sssd_kcm                   
     1 root      20   0  244748  14180   9052 S   0.0   0.7   0:01.10 systemd                    
     2 root      20   0       0      0      0 S   0.0   0.0   0:00.01 kthreadd  
………………省略部分输出信息………………

以默认格式显示系统运行信息,但提供完整的进程路径及名称:

[root@linux-arae-cc ~]# top -c    

以批处理模式显示程序信息:

[root@linux-arae-cc ~]# top -b

设定每隔5秒刷新一次信息:

[root@linux-arae-cc ~]# top -d 5

设定总显示次数为3回,随后自动退出命令:

[root@linux-arae-cc ~]# top -n 5