Centos下TOP命令各个参数含义

        使用ps命令可以查看系统上的进程信息,但也有不足之处,他只能显示某个特定时间点的信息。如果想观察频繁换进换出的内存进程趋势,用ps就不太方便了,此时用top可以看到系统的进程信息,并且时实时显示输出的,如下所示:

top - 13:48:59 up 35 days, 21:47,  2 users,  load average: 0.39, 0.55, 0.56
Tasks: 1014 total,   1 running, 1009 sleeping,   0 stopped,   4 zombie
%Cpu(s):  1.2 us,  3.1 sy,  0.0 ni, 95.5 id,  0.2 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem : 45153472 total,   214996 free,  7103420 used, 37835056 buff/cache
KiB Swap: 10239996 total,  5630148 free,  4609848 used. 18407424 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                             
15616 lixin     20   0  698040  47152  28560 S   4.3  0.1   0:22.12 php-fpm                       
 7258 root       0 -20       0      0      0 S   1.0  0.0 602:07.25 vmware-rtc                         
 1375 root      20   0 4522412  53400   7200 S   0.3  0.1 191:00.48 dockerd                                                    
 3283 systemd+  39  19  197076  18180   2988 S   0.7  0.0  46:02.88 python                                                      
   10 root      20   0       0      0      0 S   0.3  0.0 119:49.20 rcu_sched                          
 1515 root      20   0   22064   6804   2840 S   0.3  0.0 106:14.93 docker-gen                                                                                                                                                 
 2663 root      20   0 2176492  13132   3048 S   0.3  0.0  62:25.00 docker-containe
         

第一行显示了当前时间、系统的运行时间、登陆用户数以及系统的平均负载。 平均负载有三个值:最近1分钟、最近5分钟、最近15分钟,值越大负载越高,多核CPU中平均负载不应高于CPU总核心数。

第二行显示进程概要信息,top命令的输出中将进程叫做任务(task),此处分别显示进程为:运行进程数、休眠进程数、停止进程数、僵化进程数(进程完成了,但是父进程没有响应)。

第三行显示CPU的概要信息。top根据进程的属主(用户还是系统)和进程的状态(运行、空闲、等待)将CPU利用率分成几类输出

%us用户空间占用cpu百分比;
%sy内核空间占用cpu百分比;
%ni用户进程空间内改变过优先级的进程占用cpu百分比;
%id空闲cpu百分比,反映一个系统cpu的闲忙程度。越大越空闲;
%wa等待输入输出(I/O)的cpu百分比;
%hi指的是cpu处理硬件中断的时间;
%si值的是cpu处理软件中断的时间;
%st用于有虚拟cpu的情况,用来指示被虚拟机偷掉的cpu时间。

%us: 用户进程空间占用CPU百分比;
%sy: 内核进程空间占用CPU百分比;
%ni: 用户进程空间内改变过优先级的进程占用CPU百分比;
%id: 空闲CPU百分比,值越大越空闲;
%wa: 等待输入输出(I/O)的CPU百分比;
%hi: 指的是CPU处理硬件中断的时间;
%si: 指的时CPU处理软件中断的时间;
%st: 用于有虚拟CPU的情况,被物理机中的实例偷走的CPU占用百分比。

第四行是系统的物理内存使用情况,分别为:总内存数、当前使用内存数、空闲内存数、用于缓存空间的内存数

第五行是针对交换分区(Swap),和物理内存一样也是分为总的、已用的等等。

最后一行显示当前运行中的进程详细列表,有些和ps命令的输出类似:

PID: 进程的ID号
USER: 进程属主的名字
PR: 进程的优先级
NI: 进程的谦让度值
VIRT: 进程占用的虚拟内存总量
RES: 进程占用的物理内存总量
SHR: 进程和其他进程共享的内存总量
S: 进程的状态
      D: 代表可中断的休眠状态
      R: 代表在运行状态
      S: 代表休眠状态
      T: 代表跟踪状态或停止状态
      Z: 代表僵化状态
%CPU: 进程使用的CPU时间比例
%MEM: 进程使用的内存占可用内存的比例
TIME+: 自进程启动到目前为止的CPU时间总量
COMMAND: 进程所对应的命令行名称,也就是启动的程序名

    默认情况下,top命令在启动时会按照%CPU值对进程进行排序。top运行时可以按“ f ”改变排序规则。