top命令

top命令会在当前终端全屏显示系统运行信息,实时跟踪系统资源的使用情况,显示内容包括CPU、内存占用情况,系统运行进程的列表和每一个进程运行的状态等信息,对于分析系统运行中的问题很有帮助。

[root@Vtest ~]# top

以下是top某一刻的输出信息:

 

# top

top - 15:47:30 up 27 days,  3:56,  1 user,  load average: 0.00, 0.00, 0.00
Tasks:  81 total,   1 running,  80 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   1004412k total,   929024k used,    75388k free,    79500k buffers
Swap:  2047992k total,   336196k used,  1711796k free,   480540k cached
   PID  USER      PR  NI  VIRT   RES   SHR  S  %CPU  %MEM   TIME+  COMMAND                                             
   15485 root      20   0   2226m   112m   1500 S  0.3  11.4  32:56.54 java                                                
   96784 root      20   0   15024   1196   940 R  0.3  0.1   0:00.02 top                                                 
     1 root      20   0   19356   680   464 S  0.0  0.1   0:01.09 init                                                
     2 root      20   0     0    0    0 S  0.0  0.0   0:00.09 kthreadd                                            
     3 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/0                                         
     4 root      20   0     0    0    0 S  0.0  0.0   0:11.92 ksoftirqd/0                                         
     5 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/0                                         
     6 root      RT   0     0    0    0 S  0.0  0.0   0:05.10 watchdog/0                                          
     7 root      20   0     0    0    0 S  0.0  0.0  28:37.09 events/0                                            
     8 root      20   0     0    0    0 S  0.0  0.0   0:00.00 cgroup                                              
     9 root      20   0     0    0    0 S  0.0  0.0   0:00.00 khelper                                             
     10 root      20   0     0    0    0 S  0.0  0.0   0:00.00 netns                                               
     11 root      20   0     0    0    0 S  0.0  0.0   0:00.00 async/mgr                                           
     12 root      20   0     0    0    0 S  0.0  0.0   0:00.00 pm                                                  
     13 root      20   0     0    0    0 S  0.0  0.0   0:13.95 sync_supers                                         
     14 root      20   0     0    0    0 S  0.0  0.0   0:13.04 bdi-default                                         
     15 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kintegrityd/0                                       
     16 root      20   0     0    0    0 S  0.0  0.0   0:39.15 kblockd/0                                           
     17 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kacpid                                              
     18 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kacpi_notify                                        
     19 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kacpi_hotplug                                       
     20 root      20   0     0    0    0 S  0.0  0.0   0:00.00 ata_aux                                             
     21 root      20   0     0    0    0 S  0.0  0.0   0:00.00 ata_sff/0                                           
     22 root      20   0     0    0    0 S  0.0  0.0   0:00.00 ksuspend_usbd                                       
     23 root      20   0     0    0    0 S  0.0  0.0   0:00.00 khubd                                               
     24 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kseriod                                             
     25 root      20   0     0    0    0 S  0.0  0.0   0:00.00 md/0                                                
     26 root      20   0     0    0    0 S  0.0  0.0   0:00.00 md_misc/0                                           
     27 root      20   0     0    0    0 S  0.0  0.0   0:00.46 linkwatch                                           
     28 root      20   0     0    0    0 S  0.0  0.0   0:00.87 khungtaskd                                          
     29 root      20   0     0    0    0 S  0.0  0.0   0:14.85 kswapd0                                             
     30 root      25   5     0    0    0 S  0.0  0.0   0:00.00 ksmd                                                
     31 root      39  19     0    0    0 S  0.0  0.0   0:05.89 khugepaged                                          
     32 root      20   0     0    0    0 S  0.0  0.0   0:00.00 aio/0                                               
     33 root      20   0     0    0    0 S  0.0  0.0   0:00.00 crypto/0                                            
     38 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kthrotld/0                                          
     39 root      20   0     0    0    0 S  0.0  0.0   0:00.00 pciehpd                                             
     41 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kpsmoused                                           
     42 root      20   0     0    0    0 S  0.0  0.0   0:00.00 usbhid_resumer                                      
     72 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kstriped                                            
    147 root      20   0     0    0    0 S  0.0  0.0   0:00.01 scsi_eh_0                                           
    148 root      20   0     0    0    0 S  0.0  0.0   0:00.00 scsi_eh_1                                           
    154 root      20   0     0    0    0 S  0.0  0.0   1:07.33 mpt_poll_0                                          
    155 root      20   0     0    0    0 S  0.0  0.0   0:00.00 mpt/0                                               
    156 root      20   0     0    0    0 S  0.0  0.0   0:00.00 scsi_eh_2                                           
    278 root      20   0     0    0    0 S  0.0  0.0   1:58.64 jbd2/sda3-8                                         
    279 root      20   0     0    0    0 S  0.0  0.0   0:00.00 ext4-dio-unwrit                                     
    364 root      16  -4   10808   208   204 S  0.0  0.0   0:00.53 udevd                                               
    549 root      20   0     0    0    0 S  0.0  0.0   1:08.08 vmmemctl                                            
    673 root      20   0     0    0    0 S  0.0  0.0   0:00.02 jbd2/sda1-8                                         
    674 root      20   0     0    0    0 S  0.0  0.0   0:00.00 ext4-dio-unwrit                                     
    748 root      20   0     0    0    0 S  0.0  0.0   0:00.28 kauditd                                             
    932 root      16  -4   93176   484   368 S  0.0  0.0   0:03.90 auditd                                              
    948 root      20   0   243m   1572   508 S  0.0  0.2   0:02.27 rsyslogd                                            
    990 rpc       20   0   18984   320   264 S  0.0  0.0   0:04.39 rpcbind                                             
    1008 rpcuser     20   0   23356   332   328 S  0.0  0.0   0:00.00 rpc.statd                                           
    1049 dbus      20   0   21404   552   412 S  0.0  0.1   0:00.46 dbus-daemon                                         
    1078 root      20   0   4080   272   268 S  0.0  0.0   0:00.00 acpid                                               
    1087 haldaemo    20   0   37932   1288   692 S  0.0  0.1   0:16.79 hald                                                
    1088 root      20   0   20328   340   336 S  0.0  0.0   0:00.00 hald-runner                                         
    1117 root      20   0   22448   300   296 S  0.0  0.0   0:00.00 hald-addon-inpu                                     
    1132 haldaemo    20   0   17936   300   296 S  0.0  0.0   0:00.00 hald-addon-acpi


1-5行为第一部分:   

第1行
top
15:47:30 当前时间,默认每三秒更新一次。
up 27 days 系统运行了多长时间,格式为时:分
1 user 当前登录用户数
load average: 0.00, 0.00, 0.00 系统负载,即任务队列的平均长度。三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。
第2行
Tasks
81 total 系统总的进程数
1 running 正在运行的进程数
80 sleeping 休眠状态的进程数
0 stopped 停止的进程数
0 zombie 僵尸进程数
第3行:
Cpu(s)
0.0%us (user mode)用户所占用CPU百分比
0.0%sy (system mode)内核所占用CPU百分比
0.0%ni (nice)用户进程内改变过优先级的进程占用CPU百分比
0.0%id (idle task) 空闲CPU百分比
0.0%wa (I/O waiting)等待输入输出的CPU时间百分比(I/O 产生的问题,会严重的影响您的服务器性能,因为I/O是消耗CPU的)
0.0%hi (servicing IRQs)
0.0%si (servicing soft IRQs)
0.0%st (steal (time given to other DomU instances))
第4行
Mem
1004412k total 物理内存总量
929024k used 已使用的物理内存
75388k free 未使用的物理内存
79500k buffers 内核缓存占用的物理内存
第5行
Swap
2047992k total 交换分区总容量
336196k used 已使用的交换分区容量
1711796k free 未使用的交换分区容量
480540k cached 缓存的总容量,如果存在未使用的物理内存,则cached占用的是物理内存,如果未使用的物理内存为0,则cached将会占用部分swap分区,那么cached的容量是它占用的物理内存部分加上占用的swap分区的部分。


第6行为第二部分:

此为top的内部命令输入部分,常用命令有:

s
改变top命令的刷新频率(默认是3秒),Change delay from 3.0 to:输入相应的数字
l 关闭或开启第一行 top 信息
t 关闭或开启第二行 Tasks 和第三行 Cpus 信息
m 关闭或开启第一部分第四行 Mem 和 第五行 Swap 信息
N 以 PID 的大小的顺序排列表示进程列表
P 以 CPU 占用率大小的顺序排列进程列表
M 以内存占用率大小的顺序排列进程列表
R 对排列进行反转
u 显示指定用户的进程,默认是全部用户的进程
c 显示进程的全路径,默认是只有进程名
n 或者 # 设置在进程列表所显示进程的数量,但最多是显示满屏
f
调整top命令显示列表项。如增加GROUP列或UID列等等。但在下次使用top命令,还是原来成默认的。
k 结束进程
r 调整进程的优先级(Linux和AIX是从-20到19,HP-UX为0到39),至于如何得到的,可以通过man nice来查看。
h 显示帮助
q 退出 top

其余部分为进程信息:

PID 进程id。
PPID 父进程id。
RUSER 真实的进程所有者的用户名。
UID 进程所有者的用户id。
USER 进程所有者的用户名。
GROUP 进程所有者的组名。
TTY 启动进程的终端名,不是从终端启动的进程则显示为 ? 号。
PR 优先级。
NI nice值。负值表示高优先级,正值表示低优先级(Linux和AIX是从-20到19,HP-UX为0到39)
P
最后使用的CPU,仅在多CPU环境下有意义。
%CPU 上次更新到现在的CPU时间占用百分比。
%MEM 进程使用的物理内存百分比。
TIME 进程使用的CPU时间总计,单位秒。
TIME+ 进程使用的CPU时间总计,单位1/100秒。
VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR 共享内存大小,单位kb。
DATA 可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb。
SWAP 进程使用的虚拟内存中,被换出的大小,单位kb。
CODE 可执行代码占用的物理内存大小,单位kb
nFLT 页面错误次数。
nDRT 最后一次写入到现在,被修改过的页面数。
COMMAND
WCHAN
Flags

     


     S


   进程状态

D
不可中断的睡眠状态(守护进程)
R 运行中
S 休眠中
T 跟踪/停止
Z 僵尸进程

 默认情况下仅显示比较重要的 PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND 列。可以通过我们上面所说的内部的f命令,来调整列表选项。