在系统维护的过程中,随时可能有需要查看 CPU 使用率,并根据相应信息分析系统状况的需要。在 CentOS 中,可以通过 top 命令来查看 CPU 使用状况。运行 top 命令后,CPU 使用状态会以全屏的方式显示,并且会处在对话的模式 -- 用基于 top 的命令,可以控制显示方式等等。退出 top 的命令为 q (在 top 运行中敲 q 键一次)。

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器

  可以直接使用top命令后,查看%MEM的内容。可以选择按进程查看或者按用户查看,如想查看lele用户的进程内存使用情况的话可以使用如下的命令:

  $ top -u lele    (如果不是实时显示, 只显示一次, 加 "-n 1" , 即 "top -u lele -n 1")

lele@lele-Virtual-Machine:~$ top -u lele

top - 10:50:02 up 18 min,  0 users,  load average: 0.00, 0.03, 0.09
Tasks: 216 total,   1 running, 176 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.6 us,  0.4 sy,  0.2 ni, 94.1 id,  3.7 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  5824492 total,  3759864 free,  1155856 used,   908772 buff/cache
KiB Swap:  1048572 total,  1048572 free,        0 used.  4574288 avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                  
  2319 lele      20   0 3981252 287296  97120 S  18.8  4.9   0:21.98 gnome-shell                                                              
  2144 lele      20   0  592588  85940  36964 S   6.2  1.5   0:04.81 Xorg                                                                     
  2928 lele      20   0  796648  37236  27740 S   6.2  0.6   0:01.20 gnome-terminal-                                                          
  2128 lele      20   0   77076   8200   6620 S   0.0  0.1   0:00.09 systemd                                                                  
  2129 lele      20   0  409180   2884     12 S   0.0  0.0   0:00.00 (sd-pam)                                                                 
  2143 lele      20   0  701320  14516  11788 S   0.0  0.2   0:00.10 gnome-session-b                                                          
  2151 lele      20   0  127736   4476   2972 S   0.0  0.1   0:00.01 xrdp-chansrv                                                             
  2223 lele      20   0   51720   6016   3648 S   0.0  0.1   0:00.20 dbus-daemon                                                              
  2247 lele      20   0   11304    320      0 S   0.0  0.0   0:00.00 ssh-agent                                                                
  2252 lele      20   0  349288   6252   5672 S   0.0  0.1   0:00.00 at-spi-bus-laun                                                          
  2260 lele      20   0   49924   4048   3580 S   0.0  0.1   0:00.00 dbus-daemon                                                              
  2262 lele      20   0  220772   6896   6192 S   0.0  0.1   0:00.07 at-spi2-registr

内容解释:

 第一部分 -- 最上部的 系统信息栏

  第一行(top):

    “10:50:02”为系统当前时刻;

    “18min”为系统启动后到现在的运作时间;

    “0 users”为当前登录到系统的用户,更确切的说是登录到用户的终端数 -- 同一个用户同一时间对系统多个终端的连接将被视为多个用户连接到系统,这里的用户数也将表现为终端的数目;

    “load average”为当前系统负载的平均值,后面的三个值分别为1分钟前、5分钟前、15分钟前进程的平均数,一般的可以认为这个数值超过 CPU 数目时,CPU 将比较吃力的负载当前系统所包含的进程;

  第二行(Tasks):

    “216 total”为当前系统进程总数;

    “1 running”为当前运行中的进程数;

    “176 sleeping”为当前处于等待状态中的进程数;

    “0 stoped”为被停止的系统进程数;

    “0 zombie”为被复原的进程数;

  第三行(Cpus):

    分别表示了 CPU 当前的使用率;

  第四行(Mem):

    分别表示了内存总量、当前使用量、空闲内存量、以及缓冲使用中的内存量;

  第五行(Swap):

    表示类别同第四行(Mem),但此处反映着交换分区(Swap)的使用情况。通常,交换分区(Swap)被频繁使用的情况,将被视作物理内存不足而造成的。

第二部分 -- 进程信息

PID:进程的ID

USER:进程所有者

 PR:进程的优先级别,越小越优先被执行

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

VIRT:进程占用的虚拟内存

RES:进程占用的物理内存

SHR:进程使用的共享内存

S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数

%CPU:进程占用CPU的使用率

%MEM:进程使用的物理内存和总内存的百分比

TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。

COMMAND:进程启动命令名称