前几天被问到在Linux 命令行下输入top命令之后出现的信息表示什么意思,今天就总结一下。

top命令是Linux下常用的性能分析工具,但本质上它提供了实时的对系统处理器的状态监视

在命令行中输入top将输出一下信息:

top - 23:16:12 up  7:40,  1 user,  load average: 0.97, 0.98, 1.01
Tasks: 440 total,   2 running, 438 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.3 us,  1.4 sy,  0.0 ni, 96.9 id,  0.0 wa,  0.0 hi,  0.4 si,  0.0 st
KiB Mem : 13183891+total, 12378241+free,  3884532 used,  4171956 buff/cache
KiB Swap:        0 total,        0 free,        0 used. 12719112+avail Mem 
  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                               
11746 jenkins   20   0  159972   4760   1600 R  99.7  0.0 362:41.65 root/2                                                                                                                
   42 root      20   0       0      0      0 S   4.3  0.0  14:46.50 rcu_sched                                                                                                             
   68 root      20   0       0      0      0 S   2.6  0.0   0:55.10 rcuos/25                                                                                                              
11414 jenkins   20   0 42.134g 1.652g  24516 S   0.7  1.3   2:37.54 java                                                                                                                  
   49 root      20   0       0      0      0 S   0.3  0.0   0:32.35 rcuos/6                                                                                                               
 6818 root      20   0       0      0      0 S   0.3  0.0   0:34.33 kworker/0:1                                                                                                           
14702 root      20   0       0      0      0 S   0.3  0.0   0:00.26 kworker/2:0                                                                                                           
15491 txq       20   0  158044   2616   1552 R   0.3  0.0   0:00.13 top                                                                                                                   
    1 root      20   0   45892   8580   3908 S   0.0  0.0   0:13.06 systemd                                                                                                               
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.06 kthreadd

前五行是当前整个系统资源的统计信息。

第一行是任务队列,包括当前时间,系统运行的总时间,系统用户登陆的数量,以及1分钟,5分钟,15分钟系统的负载情况。

第二行是Tasks信息,显示当前系统总共的进程数为440,运行状态的进程有两个,438个处于休眠状态,0个停止,0个僵尸进程。

第三行是CPU信息,很多人可能会忽略这些信息,我之前就是,所以详细说一下。

%Cpu(s):  1.3 us,  1.4 sy,  0.0 ni, 96.9 id,  0.0 wa,  0.0 hi,  0.4 si,  0.0 st

us user CPU time ----用户空间占用CPU百分比

sy system CPU time----内核空间占用CPU百分比

ni nice CPU time----用户进程空间内改变过优先级的进程占用CPU百分比

id idle----空闲CPU百分比

wa iowait---- 等待输入输出的CPU时间百分比

hi hardware irq----硬件中断

si software irq----软件中断

st steal time----实时

具体对应到第三行的详细信息,大家自己对照一下就行,或者在你命令行中试一下。

第四行Memory的状态信息,总共13183891+内存,空闲12378241+,使用3884532,缓存为4171956

第五行Swap交换分区信息,总共0,空闲0,使用0,缓存交换区总量12719112+

第六行是各个进程监视的项目列

PID    USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+   COMMAND

PID — 进程id

USER — 进程所有者

PR — 进程优先级

NI — nice值。负值表示高优先级,正值表示低优先级

VIRT — 进程使用的虚拟内存总量。VIRT=SWAP+RES

RES — 进程使用的、未被换出的物理内存大小。RES=CODE+DATA

SHR — 共享内存大小

S— 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程

%CPU — 上次更新到现在的CPU时间占用百分比

%MEM — 进程使用的物理内存百分比

TIME+ — 进程使用的CPU时间总计

COMMAND — 进程名称(命令名/命令行)

对应的每个进程的信息,大家可以自己看一下。

如果你在命令行下再输入1,输出如下:

top - 23:16:12 up  7:40,  1 user,  load average: 0.97, 0.98, 1.01
Tasks: 440 total,   2 running, 438 sleeping,   0 stopped,   0 zombie
%Cpu0  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu1  :  0.0 us,  0.3 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu2  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu3  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu4  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu5  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu6  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu7  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu8  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu9  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu10 :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu11 :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu12 :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu13 :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu14 :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu15 :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu16 :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu17 :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu18 :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu19 :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu20 :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu21 :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu22 :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu23 :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu24 : 44.2 us, 43.9 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi, 12.0 si,  0.0 st
%Cpu25 :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu26 :  0.3 us,  0.3 sy,  0.0 ni, 99.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu27 :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu28 :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu29 :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu30 :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu31 :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem : 13183891+total, 12377862+free,  3887628 used,  4172660 buff/cache
KiB Swap:        0 total,        0 free,        0 used. 12718814+avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                               
11746 jenkins   20   0  159972   4760   1600 R 100.0  0.0 393:16.94 root/2                                                                                                                
   42 root      20   0       0      0      0 S   2.7  0.0  15:59.27 rcu_sched                                                                                                             
   67 root      20   0       0      0      0 S   1.3  0.0   1:03.60 rcuos/24

输入1可以查看每个逻辑CPU的情况,如上总共有32个逻辑CPU

其他命令:

输入b,显示高亮,shift+>shift+<可以左右切换

输入x也是显示高亮,但没有b那么明显,同理shift+>shift+<可以左右切换

直接输入top -c,会显示完整命令,输出如下:

top - 23:56:31 up  8:20,  1 user,  load average: 0.95, 0.97, 1.00
Tasks: 439 total,   2 running, 437 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.4 us,  1.5 sy,  0.0 ni, 96.8 id,  0.0 wa,  0.0 hi,  0.4 si,  0.0 st
KiB Mem : 13183891+total, 12377344+free,  3892304 used,  4173168 buff/cache
KiB Swap:        0 total,        0 free,        0 used. 12718340+avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                               
11746 jenkins   20   0  159972   4760   1600 R 100.0  0.0 402:57.42 root/2                                                                                                                
   42 root      20   0       0      0      0 S   3.3  0.0  16:21.24 [rcu_sched]                                                                                                           
   57 root      20   0       0      0      0 S   0.7  0.0   1:03.01 [rcuos/14]                                                                                                            
   63 root      20   0       0      0      0 S   0.3  0.0   0:29.22 [rcuos/20]                                                                                                            
 7933 root      20   0       0      0      0 S   0.3  0.0   0:05.50 [kworker/20:0]                                                                                                        
11414 jenkins   20   0 42.134g 1.661g  24516 S   0.3  1.3   2:47.29 /etc/alternatives/java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins -j+ 
14702 root      20   0       0      0      0 S   0.3  0.0   0:01.48 [kworker/2:0]                                                                                                         
15098 root      20   0       0      0      0 S   0.3  0.0   0:01.37 [kworker/6:2]                                                                                                         
18465 txq       20   0  158088   2720   1640 R   0.3  0.0   0:00.18 top -c                                                                                                                
    1 root      20   0   45892   8580   3908 S   0.0  0.0   0:13.78 /usr/lib/systemd/systemd --switched-root --system --deserialize 21                                                    
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.06 [kthreadd]                                                                                                            
    3 root      20   0       0      0      0 S   0.0  0.0   0:00.34 [ksoftirqd/0]                                                                                                         
    5 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 [kworker/0:0H]                                                                                                        
    8 root      rt   0       0      0      0 S   0.0  0.0   0:00.35 [migration/0]                                                                                                         
    9 root      20   0       0      0      0 S   0.0  0.0   0:00.00 [rcu_bh]                                                                                                              
   10 root      20   0       0      0      0 S   0.0  0.0   0:00.00 [rcuob/0]                                                                                                             
   11 root      20   0       0      0      0 S   0.0  0.0   0:00.00 [rcuob/1]

输入q是退出,还有其他命令参数,用到的时候再说,今天先统计这几个。

登录发表评论 注册

反馈意见