linux 进程查看下(top)

top:动态查看进程的变化

转载请出自出处:http://eksliang.iteye.com/blog/2166641

相对于ps是选取一个时间点的进程状态,top则可以持续检测进程运行的状态。使用方法如下:

 

top [-d 数字]  |  top  [-bnp]
参数:
-d:后面可以接秒数,就是整个进程界面更新的秒数。默认是5秒
-n:与-b搭配,意义是,需要进行几次top的输出结果。
-p:指定某些个PID来进行查看监测而已。
在top执行过程当中可以使用的按键命令:
	?:显示在top当中可以输入的按键命令
	P:以CPU的使用资源排序显示
	M:以内存的使用资源排序显示
	N:以PID来排序
	T:由该进程使用的CPU时间累积(TIME+)排序
	K:给予某个PID一个信号(signal);
	r:给予某个PID重新定制一个nice的值
	q:离开top软件的按键

        top这个程序可以持续检测整个系统的进程工作状态。在默认情况下,每次更新进程资源的时间为5秒,不过,可以使用-d来进行修改。top主要分为两个界面,上半部分的界面为整个系统的资源使用状态,下半部分界面,则为每个进程使用的资源情况

 

    在终端直接输入top命令,如下所示:

 

top - 17:32:50 up 12:09,  1 user,  load average: 0.00, 0.00, 0.00
Tasks:  83 total,   1 running,  82 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.7%sy,  0.0%ni, 99.3%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   1030680k total,   854936k used,   175744k free,    76468k buffers
Swap:  2064376k total,        0k used,  2064376k free,   453240k cached
  
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                    
  595 root      20   0     0    0    0 S  0.3  0.0   0:01.45 flush-8:0                                                                                                  
 1490 root      20   0 28372 3980 3288 S  0.3  0.4   0:54.73 vmtoolsd                                                                                                   
    1 root      20   0  2900 1444 1224 S  0.0  0.1   0:01.77 init                     
    .....省略

 先看上半部分:总共分为五行

 

第一行(top):这一行显示的信息分别为:

当前系统的时间,即17:32:50;开机到目前为止所经过的时间,即up 12:09;

1 user:当前登录系统的人数;

load average: 0.00, 0.00, 0.00:系统在最近1、5、15分钟内的平均负载。

第二行(tasks):这一行显示的是进程的总量与进程的状态

83 total 进程的总量
1 running 正在运行的进程数
82 sleeping 挂起的进程数
0 stopped 停止的进程数
 0 zombie 僵尸进程数

第三行(Cpu(s)):这一行显示的是cpu的整体负载

0.0%us 用户空间占用CPU的百分比
0.7%sy 系统空间占用CPU的百分比
0.0%ni 用户空间内改变过优先级的进程占用CPU百分比
99.3%id 空闲CPU百分比
0.0%wa 等待I/O输入输出的进程占用百分比

第四行(Mem):表示目前系统物理内存的使用情况

1030680k total 物理内存总量
854936k used 已经使用的内存总量
17616k free 剩余的内存总量
76468k buffers 用作内核缓存的内存量 

第五行(Swap):表示目前系统虚拟内存的使用情况

2064376k total 虚拟内存的总量
0k used 已经使用的虚拟内存总量
2064376k free 剩余虚拟的内存总量
453240k cached 物理内存跟虚拟内存进行交换的缓冲区大小

 

在看下半部分:每个进程的使用资源情况

PID 进程id
USER 进程所有者的用户名
PR  NI 这两个代表进程的优先级,越小在同一个时间片被CPU抢到的概率越大
VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES 进程使用的、未被换出的物理内存大小,单位kb
SHR  共享内存大小,单位kb
S 进程状态。D=不可中断的睡眠状态、R=运行、S=睡眠、T=跟踪/停止、Z=僵尸进程
%CPU 上次更新到现在占用CPU的百分比
%MEM 进程使用的物理内存的百分比
COMMAND  命令名

 

top默认使用CPU的使用率(%CPU)进行排序,我一般喜欢使用内存的使用率进行排序,这个时候可以按下“M”,若要恢复则按下“P”即可。

如果你要将top的结果输出成文件时,可以这样做

参考实例:将top的信息进行2次,然后将内容重定向到./top.txt

[root@localhost test]# top -b -n 2 >> ./top.txt

 参考实例:查看单一进程

我们自己的bash PID可由$$变量获得,使用top持续查看该PID

[root@localhost test]# echo $$
8612
[root@localhost test]# top -p 8612 

 参考实例:修改进程的优先级

在上述实例中,直接按下r之后,会出现如下图所示



 这个时候输入PID号码,按回车,这个时候输入10,如下图所示



 看到没有,NI,进程的优先级已经由0变成了10

 

 

 

 

猜你喜欢

转载自eksliang.iteye.com/blog/2166641