linux-进程监控

来源:互联网 发布:java自行车是高端的吗 编辑:程序博客网 时间:2024/05/20 00:17

1、ps命令

直接在linux系统中输入“ps”,结果如下:


默认情况下,ps命令指挥显示运行在当前控制台下的属于当前用户的进程。

PID:程序的进程号
TTY:程序运行的终端
TIME:程序运行的时间

参数

-a  显示所有终端机下执行的程序,除了阶段作业领导者之外。

a  显示现行终端机下的所有程序,包括其他用户的程序。

-A  显示所有程序。

-c  显示CLS和PRI栏位。

c  列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的

-C <指令名称>  指定执行指令的名称,并列出该指令的程序的
-d  显示所有程序,但不包括阶段作业领导者的程序。

-e  此参数的效果和指定"A"参数相同。

e  列出程序时,显示每个程序所使用的环境变量。

-f  显示UID,PPIP,C与STIME栏位。

f  用ASCII字符显示树状结构,表达程序间的相互关系。

-g<群组名称>  此参数的效果和指定"-G"参数相同,当亦能使用阶段作业领导者的名称来指定。

g  显示现行终端机下的所有程序,包括群组领导者的

-G <群组识别码>  列出属于该群组的程序的状况,也可使用群组名称来指定。


h  不显示标题列。


-H  显示树状结构,表示程序间的相互关系。


-j或j  采用工作控制的格式显示程序状况。


-l或l  采用详细的格式来显示程序状况。


L  列出栏位的相关信息。


-m或m  显示所有的执行绪。


n  以数字来表示USER和WCHAN栏位。


-N  显示所有的程序,除了执行ps指令终端机下的程序之外。


-p <程序识别码>  指定程序识别码,并列出该程序的状况。


p <程序识别码>  此参数的效果和指定"-p"参数相同,只在列表格式方面稍有差异。


r  只列出现行终端机正在执行中的程序。


-s <阶段作业>  指定阶段作业的程序识别码,并列出隶属该阶段作业的程序的状况。


s  采用程序信号的格式显示程序状况。


S  列出程序时,包括已中断的子程序资料。


-t <终端机编号>  指定终端机编号,并列出属于该终端机的程序的状况。


t <终端机编号>  此参数的效果和指定"-t"参数相同,只在列表格式方面稍有差异。


-T  显示现行终端机下的所有程序。


-u <用户识别码>  此参数的效果和指定"-U"参数相同。


u  以用户为主的格式来显示程序状况。


-U <用户识别码>  列出属于该用户的程序的状况,也可使用用户名称来指定。


U <用户名称>  列出属于该用户的程序的状况。


v  采用虚拟内存的格式显示程序状况。


-V或V  显示版本信息。


-w或w  采用宽阔的格式来显示程序状况。


x  显示所有程序,不以终端机来区分。


X  采用旧式的Linux i386登陆格式显示程序状况。


-y  配合参数"-l"使用时,不显示F(flag)栏位,并以RSS栏位取代ADDR栏位 。


-<程序识别码>  此参数的效果和指定"p"参数相同。


--cols <每列字符数>  设置每列的最大字符数。


--columns <每列字符数>  此参数的效果和指定"--cols"参数相同。


--cumulative  此参数的效果和指定"S"参数相同。


--deselect  此参数的效果和指定"-N"参数相同。


--forest  此参数的效果和指定"f"参数相同。


--headers  重复显示标题列。


--help  在线帮助。


--info  显示排错信息。


--lines <显示列数>  设置显示画面的列数。


--no-headers  此参数的效果和指定"h"参数相同,只在列表格式方面稍有差异。


--group <群组名称>  此参数的效果和指定"-G"参数相同。


--Group <群组识别码>  此参数的效果和指定"-G"参数相同。


--pid <程序识别码>  此参数的效果和指定"-p"参数相同。


--rows <显示列数>  此参数的效果和指定"--lines"参数相同。


--sid <阶段作业>  此参数的效果和指定"-s"参数相同。


--tty <终端机编号>  此参数的效果和指定"-t"参数相同。


--user <用户名称>  此参数的效果和指定"-U"参数相同。


--User <用户识别码>  此参数的效果和指定"-U"参数相同。


--version  此参数的效果和指定"-V"参数相同。


--widty <每列字符数>  此参数的效果和指定"-cols"参数相同。

在linux系统中,进程的状态有五种

1. 运行(正在运行或在运行队列中等待)


2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)


3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)


4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)


5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)

在终端输入:ps -ef


对于部分属性的说明

USER 进程的属主;
PID   进程的ID;
PPID    父进程;
%CPU   进程占用的CPU百分比;
%MEM  占用内存的百分比;
NI        进程的NICE值,数值大,表示较少占用CPU时间;
VSZ   该进程使用的虚拟內存量(KB);
RSS     该进程占用的固定内存量(KB)(驻留中页的数量);
TTY    该进程在那个终端上运行(登陆者的终端)
WCHAN  当前进程是否正在运行
START  该进程启动的时间
TIME      该进程实际使用CPU的时间;
COMMAND   命令的名称和参数;

2、实时进程信息top命令

如果想观察进程的实时信息,则可以使用这个命令,在命令行中输入:top,部分结果如图所示。


结果分为几个部分

第一行部分显示的是系统的概况:第一行显示了当前时间、系统的运行时间、登入的用户数以及系统的平均负载。平均负载有三个值:最近1分钟、最近5分钟、最近15分钟,值越大,则系统的负载越高,如果15分钟平均负载都很高,则说明系统可能有问题了。

第二行部分显示了概要的进程信息,多少进程处于运行、休眠、停止或者僵化

第三行部分显示了CPU信息,根据进程的宿主和进程的状态将CPU的利用率分为几类输出。

第四行部分显示了当前系统内存的状态。

对于最后的部分的参数的解释如下;

列名含义aPID进程idbPPID父进程idcRUSERReal user namedUID进程所有者的用户ideUSER进程所有者的用户名fGROUP进程所有者的组名gTTY启动进程的终端名。不是从终端启动的进程则显示为 ?hPR优先级iNInice值。负值表示高优先级,正值表示低优先级jP最后使用的CPU,仅在多CPU环境下有意义k%CPU上次更新到现在的CPU时间占用百分比lTIME进程使用的CPU时间总计,单位秒mTIME+进程使用的CPU时间总计,单位1/100秒n%MEM进程使用的物理内存百分比oVIRT进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RESpSWAP进程使用的虚拟内存中,被换出的大小,单位kb。qRES进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATArCODE可执行代码占用的物理内存大小,单位kbsDATA可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kbtSHR共享内存大小,单位kbunFLT页面错误次数vnDRT最后一次写入到现在,被修改过的页面数。wS进程状态。
D=不可中断的睡眠状态
R=运行
S=睡眠
T=跟踪/停止
Z=僵尸进程xCOMMAND命令名/命令行yWCHAN若该进程在睡眠,则显示睡眠中的系统函数名zFlags任务标志,参考 sched.h

0 0
原创粉丝点击