整理测试:falconhero
qq:40594324
显示系统当前的进程和其他状况; top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止. 比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU敏感的任务列表.该命令可以按CPU使用.内存使用和执行时间 对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定.
 
           当前时间 系统运行时间            当前登录用户数     系统负载  1分钟 5分钟15分钟
top - 09:04:06 up 12 days, 20:55,  3 users,  load average: 0.77, 0.92, 0.95
进程总数         正在运行的进程数   睡眠的进程数  停止的进程数  僵尸进程数
Tasks: 162 total,   3 running, 159 sleeping,   0 stopped,   0 zombie
3.5%us  us 用户空间占用CPU百分比  0.8%sy  
0.8%sy  sy 内核空间占用CPU百分比
0.0%ni  ni 用户进程空间内改变过优先级的进程占用CPU百分比
3.7%id  id 空闲CPU百分比
0.0% wa 等待输入输出的CPU时间百分比
Mem: 3334196k total      物理内存总量                3212344k used       使用的物理内存总量
121852k free  free      空闲内存总量               202340k buffers     用作内核缓存的内存量
Swap: 4088500k total      交换区总量                     496k used                          使用的交换区总量
4088004k free       空闲交换区总量            2400320k cached          cached 缓冲的交换区总量
内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,
该数值即为这些内容已存在于内存中的交换区的大小。
相应的内存再次被换出时可不必再对交换区写入
 
[root@ds-1693 ~]# top
top - 09:04:06 up 12 days, 20:55,  3 users,  load average: 0.77, 0.92, 0.95
Tasks: 162 total,   3 running, 159 sleeping,   0 stopped,   0 zombie
Cpu(s):  3.5%us,  0.8%sy,  0.0%ni,  3.7%id, 91.7%wa,  0.0%hi,  0.3%si,  0.0%st
Mem:   3334196k total,  3212344k used,   121852k free,   202340k buffers
Swap:  4088500k total,      496k used,  4088004k free,  2400320k cached
 
进程信息区
统计信息区域的下方显示了各个进程的详细信息。首先来认识一下各列的含义。
序号 列名 含义
a PID
进程id
b PPID
父进程id
c RUSER Real user name
d UID
进程所有者的用户id
e USER
进程所有者的用户名
f GROUP
进程所有者的组名
g TTY
启动进程的终端名。不是从终端启动的进程则显示为 ?
h PR
优先级
i NI nice
值。负值表示高优先级,正值表示低优先级
j P
最后使用的CPU,仅在多CPU环境下有意义
k %CPU
上次更新到现在的CPU时间占用百分比
l TIME
进程使用的CPU时间总计,单位秒
m TIME+
进程使用的CPU时间总计,单位1/100
n %MEM
进程使用的物理内存百分比
o VIRT
进程使用的虚拟内存总量,单位kbVIRT=SWAP+RES
p SWAP
进程使用的虚拟内存中,被换出的大小,单位kb
q RES
进程使用的、未被换出的物理内存大小,单位kbRES=CODE+DATA
r CODE
可执行代码占用的物理内存大小,单位kb
s DATA
可执行代码以外的部分(数据段+)占用的物理内存大小,单位kb
t SHR
共享内存大小,单位kb
u nFLT
页面错误次数
v nDRT
最后一次写入到现在,被修改过的页面数。
w S
进程状态。
D=
不可中断的睡眠状态
R=
运行
S=
睡眠
T=
跟踪/停止
Z=
僵尸进程
x COMMAND
命令名/命令行
y WCHAN
若该进程在睡眠,则显示睡眠中的系统函数名
z Flags
任务标志,参考 sched.h
 
默认情况下仅显示PIDUSERPRNIVIRTRESSHRS%CPU%MEMTIME+COMMAND 列。
可以通过下面的快捷键来更改显示内容。
通过 f 键可以选择显示的内容。
f 键之后会显示列的列表,按 a-z 即可显示或隐藏对应的列,最后按回车键确定。
                           
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                        
 1508 root      18   0  1984  580  228 S  3.4  0.0   1:42.89 gzip                                                                                           
20920 daemon    16   0 87884 6984 4720 S  1.1  0.2   0:00.01 php-cgi                                                                                         
    1 root      15   0  2160  636  548 S  0.0  0.0   0:01.25 init                                                                                           
    2 root      RT  -5     0    0    0 S  0.0  0.0   0:02.52 migration/0                                                                                    
    3 root      34  19     0    0    0 S  0.0  0.0   0:01.67 ksoftirqd/0                                                                                     
    4 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/0      
f
Current Fields: for window 1:Def
Toggle fields via field letter, type any other key to return
 
* A: PID        = Process Id                              
* E: USER       = User Name                                
* H: PR         = Priority  
 
o 键可以改变列的显示顺序。按小写的 a-z 可以将相应的列向右移动,而大写的 A-Z 可以将相应的列向左移动。最后按回车键确定。
Current Fields:  for window 1:Def
Upper case letter moves field left, lower case right
 
* E: USER       = User Named                                   
* A: PID        = Process Id 
Current Fields:  for window 1:Def
Upper case letter moves field left, lower case right
 
* E: USER       = User Named                                   
* H: PR         = PriorityId                                     
* I: NI         = Nice value                                      
* A: PID        = Process Id
 
 
USER      PR  NI   PID  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                          
root      15   0     1 10348  632  536 S  0.0  0.0   0:00.70 init  
 
命令参数
d 指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。
p
通过指定监控进程ID来仅仅监控某个进程的状态。
q
该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。
S
指定累计模式
s
使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。
i
使top不显示任何闲置或者僵死进程。
c
显示整个命令行而不只是显示命令名
 
top -d 5
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                          
1 root      15   0 10348  632  536 S  0.0  0.0   0:00.70 init 
5秒后刷新
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                           
22849 root      15   0 97452 1564 1276 S  0.2  0.1   3:33.39 wget                                                              
24210 root      15   0 97456 1572 1284 S  0.2  0.1   3:14.37 wget  
top –c
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                          
24210 root      15   0 97456 1572 1284 S  0.3  0.1   3:14.29 wget http://www..com/back3.tar.gz 
参数可以叠加
top -c -d 5
 
t 切换显示进程和CPU状态信息。
m 切换显示内存信息
c 切换显示命令名称和完整命令行
[root@TheSysbackup data]# top -d 5
top - 21:27:09 up 63 days, 21:27,  1 user,  load average: 0.00, 0.00, 0.00
Tasks: 102 total,   1 running, 101 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%st
Mem:   1800560k total,  1791348k used,     9212k free,    15872k buffers
Swap:        0k total,        0k used,        0k free,  1608584k cached
 
输入m
top - 21:27:51 up 63 days, 21:27,  1 user,  load average: 0.00, 0.00, 0.00
Tasks: 102 total,   1 running, 101 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.3%sy,  0.0%ni, 99.0%id,  0.5%wa,  0.0%hi,  0.3%si,  0.0%st
输入t
top - 21:27:57 up 63 days, 21:27,  1 user,  load average: 0.00, 0.00, 0.00
 
c 切换显示命令名称和完整命令行
 
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                          
26682 root      15   0 12740 1068  812 R  0.4  0.1   0:00.06 top -d 5                                                           
23442 root      15   0 97452 1564 1276 S  0.2  0.1   3:13.94 wget http://www..com/back5.tar.gz
d 切换延迟
Change delay from 5.0 to:
M 根据驻留内存大小进行排序。
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                           
 2788 root      34  19  254m  19m 2132 S  0.0  1.1   1:38.45 yum-updatesd                                                      
 2398 root      15   0  240m  17m 5484 S  0.0  1.0   0:03.40 setroubleshootd                                                    
 2190 root      15   0 27604  16m  412 S  0.0  1.0   0:00.08 restorecond                                                       
 2516 haldaemo  15   0 30964 4144 1652 S  0.0  0.2   0:00.70 hald  
P 根据CPU使用百分比大小进行排序。
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                          
22849 root      15   0 97452 1564 1276 S  0.1  0.1   3:34.04 wget                                                               
23442 root      15   0 97452 1564 1276 S  0.1  0.1   3:14.16 wget                                                              
24123 root      15   0 97452 1560 1276 S  0.1  0.1  10:07.67 wget                                                               
24210 root      15   0 97456 1572 1284 S  0.1  0.1   3:15.02 wget          
T 根据时间/累计时间进行排序。
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                          
24123 root      15   0 97452 1560 1276 S  0.3  0.1  10:08.04 wget                                                              
22849 root      15   0 97452 1564 1276 S  0.0  0.1   3:34.29 wget                                                              
24210 root      15   0 97456 1572 1284 S  0.3  0.1   3:15.29 wget                                                              
23442 root      15   0 97452 1564 1276 S  0.3  0.1   3:14.41 wget     
数字1查看CPU多核负载情况
top - 21:37:16 up 63 days, 21:37,  1 user,  load average: 0.01, 0.01, 0.00
Tasks: 102 total,   1 running, 101 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.0%sy,  0.0%ni, 99.7%id,  0.3%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu2  :  0.0%us,  0.0%sy,  0.0%ni, 98.7%id,  0.7%wa,  0.0%hi,  0.7%si,  0.0%st
W 将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。
[root@TheSysbackup ~]# cat .toprc
RCfile for "top with windows"       # shameless braggin'
Id:a, Mode_altscr=0, Mode_irixps=1, Delay_time=3.000, Curwin=0
Def