linux 进程查看下(top)
来源:互联网 发布:怎么开通淘宝贷款 编辑:程序博客网 时间:2024/06/05 03:39
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.00Tasks: 83 total, 1 running, 82 sleeping, 0 stopped, 0 zombieCpu(s): 0.0%us, 0.7%sy, 0.0%ni, 99.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%stMem: 1030680k total, 854936k used, 175744k free, 76468k buffersSwap: 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进程idUSER进程所有者的用户名PR NI这两个代表进程的优先级,越小在同一个时间片被CPU抢到的概率越大VIRT进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RESRES进程使用的、未被换出的物理内存大小,单位kbSHR 共享内存大小,单位kbS进程状态。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