您的位置:首页 > 运维架构 > Linux

linux-进程监控

2015-06-06 13:31 453 查看
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进程id
bPPID父进程id
cRUSERReal user name
dUID进程所有者的用户id
eUSER进程所有者的用户名
fGROUP进程所有者的组名
gTTY启动进程的终端名。不是从终端启动的进程则显示为 ?
hPR优先级
iNInice值。负值表示高优先级,正值表示低优先级
jP最后使用的CPU,仅在多CPU环境下有意义
k%CPU上次更新到现在的CPU时间占用百分比
lTIME进程使用的CPU时间总计,单位秒
mTIME+进程使用的CPU时间总计,单位1/100秒
n%MEM进程使用的物理内存百分比
oVIRT进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
pSWAP进程使用的虚拟内存中,被换出的大小,单位kb。
qRES进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
rCODE可执行代码占用的物理内存大小,单位kb
sDATA可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb
tSHR共享内存大小,单位kb
unFLT页面错误次数
vnDRT最后一次写入到现在,被修改过的页面数。
wS进程状态。
D=不可中断的睡眠状态
R=运行
S=睡眠
T=跟踪/停止
Z=僵尸进程
xCOMMAND命令名/命令行
yWCHAN若该进程在睡眠,则显示睡眠中的系统函数名
zFlags任务标志,参考 sched.h
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux