rss· 投稿· 设为首页· 加入收藏· 繁體版
当前位置: 火魔网 » 操作系统 » Linux命令

ps 和 top 命令手册

debian 5.0系统 ******************************************************************************
ps 命令手册
ps 报告当前进程状态的快照
ps描述一组活动进程的信息。如果希望一个动态更新的进程状态信息,使用top命令。 本版本的ps接受如下类型的选项:
UNIX选项,可以组合并且必须以中划线开头
BSD选项,可以组合并且必须不能以中划线开头
GNU长选项,以连续两个中划线作选项前导 等价的,由于标准和实现多样,所以这个版本的ps全部兼容。 注意"ps -aux"和"ps aux"是不同的。POSIX和UNIX标准要求"ps -aux"打印名为"x"的用户
所拥有的全部进程,就像"ps -a"一样。这里,如果用户"x"不存在,就认为它是"ps aux"
并且打印一条警告消息。 缺省情况下,ps选择所有有效用户号和当前用户号相等并且拥有相同终端的进程,打印进
程号(pid=PID),进程关联的终端(tname=TTY),以[dd-]hh:mm:ss格式的累计CPU时间
(time=TIME),以及可执行名字(ucmd=CMD),缺省输出是不排序的。 使用BSD风格的选项还会增加进程状态(stat=STAT)到缺省输出以及命令参数
(args=COMMAND)代替可执行命令。你可以通过更改PS_FORMAT环境变量来改变这种情况。
使用BSD风格的选项还会改变有你用有的其它终端上的进程选择;也就是说这会选择除了被
其他用户拥有或者没有关联到终端的所有进程。这个不会影响那些被描述为"identical"的
选项,比如-M会认为等同于Z,以此类推。 除了一下描述的,进程选择选项是可添加的,缺省的选择被丢弃了,然后选中的进程会被 ps -e
ps -ef
ps -eF
ps -ely
使用BSD风格语法
ps ax
ps axu 使用标准语法:
ps -ejH
使用BSD风格语法
ps axjf 使用标准语法:
ps -eLf
使用BSD风格语法
ps axms 使用标准语法:
ps -eo euser,ruser,suser,fuser,f,comm,label
ps -eM
使用BSD风格语法
ps axZ ps -U root -u root u ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
ps -eopid,tt,user,fname,tmout,f,wchan
仅打印syslogd的进程ID
ps -C syslogd -o pid=
仅打印PID=42的进程名字
ps -p 42 -o comm= 简单进程选项,无选项参数
-A        选择所有进程,等同于"-e"
-N        选择除了满足指定条件之外的所有进程,等同于"--deselect"
-a        选择除了会话首进程外并且不关联到终端的所有进程
-d        选择除了会话首进程外的所有进程
r        BSD风格,选择运行态的进程
T        BSD风格,选择关联到当前终端所有进程,等同于不带参数的"t"选项
a        BSD风格,选择所有关联到一个终端的进程
x        BSD风格,选择你拥有的进程
ax        BSD风格,选择所有进程 参数列表,空格表示单一参数,逗号表示参数列表
-C cmdlist    按照命令名字选择
-G grplist    按照实际组ID或者组名选择,等同于--Group
-U userlist 按照实际用户ID或用户名选择,等同于--User
-u userlist 按照有效用户ID或用户名选择,等同于--user
-g grplist  按照有效组ID或组名来选择,等同于--group
-p pidlist    按照进程ID选择,等同于--pid或num(只指定一个参数时可用)
-s sesslist    按照会话ID选择,等同于--sid或-num(只指定一个参数时可用)
-t ttylist    按照终端选择,终端可以有多种表示方式,/dev/tty1, ttyS1, S1等
"-"表示没有关联到任何终端,等同于--tty
--ppid pidlist    按照父进程ID选择。
p pidlist    BSD风格,按照进程ID选择,等同于-p或--pid
U userlist    BSD风格,按照有效用户ID或用户名选择,等同于-u或--user
t ttylist    BSD风格,按照tty选择。等同于-t和--tty 输出格式控制
-F        全格式,参看-f选项,-F暗指-f
-O format    类似-o,但是会预装载缺省列,等同于
-o pid,format,state,tname,time,command -o pid,format,tname,time,cmd
-M        增加一列安全数据,等同于Z
-c        为-l选项显示不同调度器信息
-f        全格式列出。可以与其他许多UNIX风格选项合用来增加额外列
-j        作业格式
-l        长格式,可以与-y搭配使用
-o format   自定义格式,等同于o或者--format,规定的标准格式描述符见后面
-y        不显示标志,使用rss代替addr,只可以与-l一起使用。
X        BSD风格,注册格式
Z        BSD风格,等同于-M
O format    BSD风格,
j        BSD风格,作业控制格式
l        BSD风格,长格式
o format    BSD风格,自定义格式
s        BSD风格,信号格式,显式进程对各信号的处理方式
u        BSD风格,面向用户的格式
v        BSD风格,虚拟内存地址格式 输出修饰符
-H        以等级方式显式进程(森林)
-n namelist    指定名字列表文件,等同于N
-w        宽格式输出,折行显示
--cols n    设置屏幕宽度,等同于--columns,--width
--rows n    设置屏幕高度,等同于--lines n
--cumulative包含死亡子进程数据,加到父进程中
--headers    分页显式头部
--sort spec    设定排序方式
N namelist    BSD风格,指定名字列表文件,等同于-n
O order    BSD风格,排序,类似--sort
S        BSD风格,统计某些信息,比如CPU使用时间等
c        BSD风格,显示真正的命令名
e        BSD风格,在命令后显示环境
f        BSD风格,以ASCII图形式显式等级
h        BSD风格,去掉头部信息
k spec    BSD风格,指定排序方式
n        BSD风格,以数字方式输出WCHAN和USER
w        BSD风格,宽格式输出,用两次不限制宽度 显示线程
-L        显式线程,通常有LWP和NLWP列
-T        显式线程,通常有SPID列
-m        在进程后显式线程,等同于m
H        BSD风格,像进程一样显示线程 其他信息
-V        打印procps版本
--help    打印帮助信息
--info    打印调试信息
--version    打印procps版本
L        BSD风格,列出所有的格式描述符
V        BSD风格,打印procps版本 注意:
这个版本的ps通过读/proc中的虚拟文件来工作。它不需要setuid kem或任何特权就可
以运行。不要给予这个ps任何特权。
这个ps需要访问namelist数据来正常显示WCHAN。对于2.6之前的内核,System.map文 CPU使用率当前表示为整个进程生存期内运行时间的百分比。这并不理想,并且不符合
其它ps遵循的规范。CPU使用率不大可能加起来精确为100%。
SIZE和RSS域没有计算进程的某些部分,比如页表,内核栈,thread_info结构,
task_struct结构。这些通常为20KB。SIZE是进程的虚拟大小(代码+数据+栈)
标记为defunct的进程是僵死进程,也叫做zombies。这些进程是由于其父进程没有适
当销毁它们,这些进程会在其父进程退出之后由init进程销毁。 进程标志
这些值的总和显示在"F"列,由"flags"输出说明符控制
1    fork了但没有exec
4    有超级用户权限 进程状态码
这里是s,stat和state输出说明符(列头标为"STAT"或"S")显示的进程状态信息
D        不可中断睡眠态(通常是IO)
R        运行或可运行态
S        可中断睡眠态
T        停止态,接收到作业控制信号或者处于追踪过程(调试)
W        页交换(已废弃)
X        死亡(不可能看到)
Z        僵死进程,终止但还没有被其父进程回收。
当应用BSD风格和使用stat关键字时有额外的字符显式
<        高优先级(对其他用户不nice)
N        低优先级(对其他用户nice)
L        有页被锁定在内存里(对于实时或者自定义IO)
s        是会话首进程
l        是多线程的 AIX的格式说明符 标准格式说明符
这些格式说明符用于控制输出格式(比如用选项"-o")或者排序选定进程使用--sort选项 start_time    START        命令启动时间,简单格式,等同于bsdstart
%cpu    %CPU        ##.#格式的CPU使用率
c        C        处理器利用率,是%cpu的整数格式
cmd        COMMAND        命令名,同args, comm, command, ucmd, ucomm
cp        CP        %cpu的十倍显示
cputime    TIME        累计CPU时间,用户时间+系统时间,同bsdtime,time
etime    ELAPSED        从进程启动起流逝的时间
f        F        关联到进程的标志,等同于flag和flags
lstart    STARTED        命令启动时间,详细格式,类似date输出格式
%mem    %MEM        机器物理内存使用率(驻扎与主存中的部分) egid    EGID        进程的有效用户组ID,十进制数,等同于gid
egroup    EGROUP        有效用户组
euid    EUID        有效用户ID,等同于uid
euser    EUSER        有效用户名,等同于user
fgid    FGID        文件系统访问组ID,等同于fsgid
fgroup    FGROUP        文件系统访问组名,等同于fsgroup
fuid    FUID        文件系统访问用户ID,等同于fsuid
fuser    FUSER        文件系统访问用户名
rgid    RGID        实际组ID
rgroup    RGROUP        实际组名
ruid    RUID        实际用户ID
ruser    RUSER        实际用户名
sgid    SGID        保存组ID,等同于svgid
sgroup    SGROUP        保存组名
suid    SUID        保存用户ID,等同于svuid
suser    SUSER        保存用户名 blocked    BLOCKED        被阻止的信号掩码,32位或64位16进制数,sigmask
caught    CAUGHT        捕捉的信号的掩码,32位或64位16进制数,sigcatch
ignored    IGNORED        忽略的信号掩码,sigignore
pending    PENDING        未决信号掩码,等同于sig label    LABEL        安全标记,通常用于SE Linux上下文数据,用于高
安全性系统上的 Mandatory Access Control ("MAC") lwp        LWP        lwp(轻量级进程或线程)ID,等同于spid,tid
pgid    PGID        进程组ID或者进程组首进程的进程ID,等同于pgrp
pid        PID        进程ID
ppid    PPID        父进程ID
nlwp    NLWP        进程内的lwps(轻量级线程或进程)数量,thcount
rss        RSS        驻留集大小,进程使用的非交换物理内存大小(单位为
KB),等同于rssize,rsz
s        S        最小状态显示,参见进程状态码,等同于state
sess    SESS        会话ID,或者说是会话首进程的进程ID
sid        SID        会话ID
stat    STAT        多字节的进程状态,参见进程状态码
tpgid    TPGID        终端上的前台进程组ID,-1表示进程没有关联到tty eip        EIP        指令指针
esp        ESP        堆栈指针
psr        PSR        当前占有处理器的进程
nwchan    WCHAN        进程休眠的内核函数地址
sgi_p    P        处理器当前执行的进程,前面标有"*"表示该进程当前 stackp    STACKP        进程的栈底地址(栈起始)
wchan    WCHAN        进程正睡眠的内核函数名。如果"-"表示进程正在运行
"*"表示进程是多线程的,并且ps没有显示线程。 cls        CLS        进程调度类别,有如下类别,同class TS    SCHED_OTHRE
FF    SCHED_FIFO
RR    SCHED_RR ni        NI        nice值,从19(nicest)到-20,等同于nice
pri        PRI        进程优先级,值越大,优先级越低
rtprio    RTPRIO        实时优先级
sched    SCH        进程的调度策略,sched_other,sched_fifo和sched_rr
分别表示为0, 1, 2
size    SZ        污染所有可写页后需要需要的交换空间量
sz        SZ        进程核心映像在物理页中的大小,包括正文段、数据 tname    TTY        控制终端名,等同于tt,tty
vsz        VSZ        进程的虚存大小(以KB为单位),包含当前设备映射
vsize    VSZ        同上 环境变量
除了CMD_ENV和PS_PERSONALITY之外,其他环境变量最好不要设置
COLUMNS            缺省屏幕宽度
LINES            缺省屏幕高度
PS_PERSONALITY        设为posix,old,linux,bsd,sun,digital...
CMD_ENV            同上
I_WANT_A_BROKEN_PS        强制解析已废弃选项
LC_TIME            时间格式
PS_COLORS            不支持
PS_FORMAT            缺省输出格式
PS_SYSMAP            缺省namelist(System.map)位置
PS_SYSTEM_MAP        同上
POSIXLY_CORRECT        不为忽略坏特性找理由
POSIX2            同上
UNIX95            同上 参考
top(1), pgrep(1), pstree(1), proc(5) 标准
本ps兼容:
Single Unix Specification V2
The Open Group Technical Standard Base Specification, Issue 6
IEEE Std 1003.1, 2004 Edition
X/Open System Interface Extension [UP XSI]
ISO/IEC 9945:2003 作者 Branko Lankester <lankeste@fwi.uva.nl>
利用proc系统重写的作者
Michael K.Johnson <johnsonm@redhat.com> Michael Shields <mjshield@nyx.cs.du.edu>
Charles Blake <cblake@bbn.com>
David Mossberger-Tang
为完全支持UNIX98和BSD而重写的作者
Albert D.Cahalan, <albert@users.sf.net> BUGS报告
<procps-feedback@list.sf.net> pstree top手册 显示Linux任务
命令行选项,传统开关'-'和空格都是可选的 top程序提供了运行中系统的一个动态实时的视图。除了显示系统概要信息之外,还可以列 大小都是用户可配置的,并且配置可以保存,下次重启动时仍然能够保留配置。 了大量扩展接口。 命令行选项 字段描述 交互命令 概要区命令 颜色映射 窗口概览 文件 个性化配置文件 内核魔术 大鸟窗口
BUGS,历史等 操作
操作top的两个最重要的按键是帮助键('h'或'?')和退出键('q')。此外,你还可
以使用传统的中断键('^C')退出。
窗口元素:1)概要区;2)消息,提示行;3)列头;4)任务区。 内容标签:1)概要区,显示程序名,CPU状态,内存状态。2)列头,显示一个新的 注意:top显示的宽度限制为512个位置。显示所有的字段需要最小160个字符。剩余
的宽度用于'Command'列。 缺省启动 的项也可以在命令行上被更改。 'A' - 自定义显示    关(全屏)
* 'd' - 延迟时间        3秒
'I' - Irix模式        开 (否, 'solaris', smp)
* 'p' - PID监控        关
* 's' - 安全模式        关
'B' - 允许黑体        关 'l' - Load Avg/Uptime    开,这里是字母l
't' - 任务/处理器状态    开(2行)
'm' - 内存/交换使用情况    开(2行)
'1' - 单处理器        开(如果smp,1行)这里是数字1 'b' - 黑体高亮        开
* 'c' - 命令行        关(名字,不是命令行)
* 'H' - 线程        关(显示所有线程)
* 'i' - 空闲任务        开(显示所有任务)
'R' - 降序排列        开(pid从高到低)
* 'S' - 累计时间        关(否,死亡子进程)
'x' - 列高亮        关(否,排序字段)
'y' - 行高亮        开(是,运行态任务)
'z' - 彩色/单色        关(否,颜色) 命令行选项
top的命令行选项语法包括:
-hv | -bcHisS -d delay -n iterations -p pid [,pid...] -b    批量模式操作,以批量模式启动top,对于将输出从top发送到文件有用
在这种模式下,top不会接收输入并且运行直到以-n设定的iterations -c    命令行,程序名出发。以上次记忆的'c'状态启动top。
-d    刷新间隔,形式 -d ss.tt(秒.十分),允许分数,不允许负数
-h    帮助
-H    以上次记忆地'H'状态启动top,如果此项打开,所有独立线程都会显示
否则,top在一个进程中显示所有线程的总括
-i    空闲进程开关。以上次记忆的'i'状态启动。如果此项关闭,则空闲和 -n    迭代数量,限制为 -n number。限制最大的迭代循环数量
-u    监控用户,-u somebody,监控给定的有效用户ID或用户名
-U    监控用户,-U somebody,监控给定的实际、有效、保存、文件系统用户
-p    监控进程,-pN1,-pN2...或-pN1,N2...监控给定进程
-s    安全模式操作,强制以安全模式打开。
-S    累计时间模式开关,以上次记忆的'S'状态启动。如果该开关开启,则
每个进程cpu时间计算它和它已死子进程总共消耗的时间。
-v    版本信息 字段 列 a    PID,进程号,任务的唯一标识,周期性的轮回,但决不会从0开始。
b    PPID,父进程号
c    RUSER,实际用户名
d    UID,用户号,任务拥有者的有效用户号
e    USER,用户名,任务拥有者的有效用户名
f    GROUP,组名,任务拥有者的有效组名
g    TTY,控制终端名,通常是任务启动和用作输入输出的终端,无终端 h    PR,任务优先级
i    NI,任务nice值,负数nice表示高优先级
j    P,上次使用的CPU(SMP)
k    %CPU,CPU使用率
l    TIME,任务从启动到当前消耗的CPU时间,当累计模式启动,包括已死
子进程的CPU时间。
m    TIME+,CPU时间,更高精度,百分之一秒
n    %MEM,内存使用(当前使用的物理内存)
o    VIRT,任务使用的总共的虚存量,包含所有的代码、数据和共享库加上 p    SWAP,任务被交换出去的大小
q    RES,任务驻留在内存中的大小
r    CODE,虚存中代码段的大小,也叫TRS
s    DATA,虚存中数据段和栈的大小,也叫DRS
t    SHR,任务使用的共享内存大小
u    nFLT,缺页次数。一个任务发生的缺页次数量
v    nDRT,脏页计数。上次写入磁盘后被更改的页数量。脏页必须在从内存 w    S,进程状态(D,不可打断睡眠态;R,运行态;S,可打断睡眠态,
T,追踪态或停止态;Z,僵死态)
x    Command,命令行或者程序名,启动程序的命令行
y    WCHAN,进程睡眠到的内核函数名
z    Flags,进程标志。进程当前调度标志,16进制数表示。
定义在<linux/sched.h> 交互命令:'f'(字段选择)或者'o'(字段排序)
'f'命令用来打开字段选择窗口,然后按下对应的字段代表字母选择对应的字段, 'o'命令用来重排列的显示顺序大小写的字段字母用来选择上移或下移显示顺序。
CPU状态
CPU状态显示在概要区。总是显示当前和上次刷新之间的百分比。
us    用户进程CPU时间
sy    系统内核CPU时间
ni    被niced的进程运行的时间
wa    等待IO完成的时间
hi    硬件IRQ时间
si    软件中断时间
st 交互命令 全局命令: <RET/Sp> ?, =, A, B, d, G, h, I, k, q, r, s, W, Z
概要区命令:l, m, t, 1 外观类:b, x, y, z
内容类:c, f, H, o, S, u
大小类:#, i, n
排序类:<, >, F, O, R
颜色映射命令:<Ret>, a, B, b, H, M, q, S, T, w, z, 0-7
窗口命令:-, _, =, +, A, a, G, g, w 全局命令 些命令不可用。如果你希望确定你的top是否是安全模式的,简单的查看系统概 回车    刷新显示 '?'    显示帮助
'h'    同上
'='    移除任务显示数量限制,这个命令会取反激活的'i'和'n'命令,还会退
出PID监控。
'A'    自定义模式开关
'B'    黑体显示开关,比如当前运行进程
'd'    跳出对话框,更改刷新延时值
's'    同上
'G'    选择另一个窗口或字段组,在1-4个不同预设窗口之间选择
'I'    Iris/Solaris模式选择开关,当操作于Solaris模式,一个任务的cpu时
间会被除以CPU的总数。更改后会得到提示。
'u'    根据有效用户ID选择一个用户,可以用户名或者用户ID
'U'    根据实际、有效、保存、文件系统用户ID选择一个用户
'k'    给任务发送信号,缺省信号是SIGTERM,可用信号名或号码发送任意信号
如果要放弃操作,可以直接回车或者在输入信号时输入0。
'q'    退出
'r'    重设任务的nice值
'W'    保存为配置文件
'Z'    更改颜色映射 这些交互命令在全屏和自定义模式下都可用,它们影响开始处那些行的显示
'l'    负载均衡/启动时间开关,字母'l'
'm'    内存交换区开关,两行
't'    任务,CPU状态开关,2行,具体行数与数字'1'命令状态有关
'1'    当CPU状态还是多CPU状态显示开关,数字'1',单CPU(s),多CPU(0)... 任务区交互命令在全屏模式下总是可用的,在自定义模式下当当前任务窗口开关
('current')被关闭时绝对不可用。 'b'    黑体,反色开关,会影响'x'和'y'开关。
'x'    列高亮开关,高亮当前排序列。建议关闭
'y'    行高亮开关,高亮当前运行任务行。
'z'    彩色,单色开关,更改当前窗口的色彩模式。会影响概要区和任务区,
但不会影响'b', 'x', 'y'开关 'c'    命令行,程序名开关
'f'    打开字段选择窗口
'o'    打开字段排列窗口
'S'    累计时间模式开关,假如打开的话,所有独立线程会被显示
死亡子进程的时间会累计到父进程消耗的CPU时间中去
'u'    仅显示指定用户,显示全部什么都不要输入 'i'    空闲进程开关,显示活动进程还是全部进程
'n'    设置显示最大任务数 排序任务窗口:
在使用这些命令前,建议用'x'命令临时打开排序列高亮。
'M'    按照内存使用率%MEM排序
'N' 按照进程号PID排序
'P'    按照处理器利用率%CPU排序
'T'    按照累计时间TIME+排序 屏幕宽度不够
被'f'交互命令关闭了排序列
'<'    向左选择下一个字段作为排序字段
'>'    向右选择下一个字段作为排序字段 'F'    打开排序字段选择窗口
'O'    同上
'R'    降序/升序排列开关 当你执行'Z'命令时就会打开一个独立的窗口,这个窗口用来改变当前'current'
窗口或者所有返回top显示时的4个窗口的颜色。 4个大写字母用来选择一个目标
8个数字用来选定一个颜色 'B'    黑体开关
'b'    运行态任务黑体开关
'z'    彩色单色开关 'a'    生效,然后到下一个
'w'    生效,然后到上一个 'q'    丢弃当前更改并退出 自定义显示模式 字段组 窗口
在全屏幕模式下,仅有一个窗口。这个单一窗口可以在4个不同字段组间切 在自定义模式下,这4个字段组可以同时显示或者根据你的命令单独关闭 根据你的命令,可以显示0-4个任务区。 当前窗口是关联到当前概要区的窗口。并且在该窗口内可执行任务区命令。
在概要区的第一行开始处显示了当前窗口号num:Def '-'    显示和隐藏当前任务窗口开关
'_'    显示和隐藏全部任务窗口开关
'='    平衡窗口,强制当前任务窗口显示可见,同时影响'i'和'n' 'A'    自定义模式开关
'a'    下一个窗口,更改当前窗口
'w'    上一个窗口,更改当前窗口
'G'    输入数字1-4来选择当前窗口
'g'    更改窗口或字段组的名字 文件 文件内不可执行如下命令:
'k'    给进程发信号
'r'    重设进程的nice值
'd'    更改刷新间隔
's'    同上
系统文件并非有top创建,而是手动创建的,并且放在/etc目录下。名字必须是
toprc,并且没有前导'.'。必须只有两行。
/etc/toprc例子:
s    #line 1    'secure' mode switch
5.0    #line 2    刷新间隔 这个文件名为'$HOME/.your-name-4-top' + 'rc'使用W交互命令创建和更新它。 global    #line 1: the program name/alias notation
"        #line 2: id, altscr, irixps,delay,curwin
per ea    #line a: winname,fieldscur
window    #line b: winflags,sortindx,maxtasks
"        #line c: sumclr,msgsclr,headclr,taskclr
如果没有设置$HOME环境变量,则top会尝试将个性化配置文件写到当前目录。 技巧举例
果然愚蠢 BUGS报告
Albert D.Cahalan, <albert@users.sf.net> 作者 Jim / James C. Warner, <warnerjc@worldnet.att.net> Albert D.Cahalan, <albert@users.sf.net>
Craig Small, <csmall@small.dropbear.id.au> 参考
free(1), ps(1), uptime(1), atop(1), slabtop(1), vmstat(1), w(1)
顶一下
(0)
踩一下
(0)