ps命令集合(查看linux性能)
Linux中查看进程命令ps aux,ps -ef,ps -A,ps -a
一、前言
ps (英文全拼:process status)命令用于显示当前进程的状态,类似于 windows 的任务管理器。
二、ps -ef
输出
列的意思
-
UID 用户的ID ,但输出的是用户名
-
PID 进程的ID
-
PPID 父进程的ID
-
C 进程占用CPU的百分比
-
STIME 进程启用到现在的时间
-
TIME 该进程实际使用CUP运行的时间
-
TTY 该进程在哪个终端上运行,若与终端无关,则显示?,若为pts/0等,则表示由网络连接主机进程
-
CMD 命令的名称和参数
三、ps -aux
输出
列的意思
-
USER 行程拥有者
-
PID 进程的ID
-
%CPU 占用的 CPU 使用率
-
%MEM 占用的记忆体使用率
-
VSZ 占用的虚拟记忆体大小
-
RSS 占用的记忆体大小
-
TTY 终端的次要装置号码 (minor device number of tty)
-
STAT 该行程的状态
-
START 行程开始时间
-
TIME 执行的时间
-
COMMAND 所执行的指令
-
STAT该行程的状态 详情
-
列 描述
-
D 无法中断的休眠状态 (通常 IO 的进程)
-
R 正在执行中
-
S 静止状态
-
T 暂停执行
-
Z 不存在但暂时无法消除
-
W 没有足够的记忆体分页可分配
-
< 高优先序的行程
-
N 低优先序的行程
-
L 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)
四、ps -A
输出
列出所有的进程
五、ps -a
输出
显示所有终端机下执行的程序,除了阶段作业领导者之外
六、ps的aux和-ef区别
1、输出风格不同
两者的输出结果差别不大,但展示风格不同。aux是BSD风格,-ef是System V风格。
2、aux会截断command列,而-ef不会,当结合grep时这种区别会影响到结果
原文 - PS的aux和-ef参数
一直以为ps aux就可以列出所有的在运行进程,最近发现还是有些缺陷,用ps aux和-ef得到的结果居然不一样,以后尽量用-ef参数吧。
情况是这样的,我用 /bmrt/blaph/blaph/bmgctl 来启动进程,由于ps aux是用BSD格式来显示结果,所以可能只会显示到 /bmrt/blaph/blap,后面的都被截掉了。
这样,如果用 ps aux | grep bmgctl 来过滤该进程,可能就会误伤,获取不到bmgctl进程。
而ps -ef是用全格式的System V格式,显示出来就是带全路径的进程名,会显示出bmgctl,在 ps -ef | grep bmgctl 命令下就可以完整显示该进程了。