平时一定有不少童鞋和我一样,上机器先ps -ef | grep xxx
ps aux | grep xxx
,看 man page又这么长,不常用的还不好记。
个人把ps的参数理解成大致两类。两类参数分别作用于:
- (LWP轻量)进程信息(输出格式)
- 进程过滤
本文重点已结束...
-L # 看LWP(Light Weight Process),否则看PROCESS
--no-headers
# 区分两类参数: 格式和进程范围
# 格式
-o # 自定义格式 addr,rss,ppid,args,pmem
-f
-F
-ww # 最后一列输出,完整显示
...
# 范围
-a
-e # 等价-A
-A # 等价-e
-u # 指定用户
-p # 指定PID
...
# 格式解析
RSS # -- resident set size 和
# top 命令中RES -- Resident Memory Size (KiB) 是一个意思
个人使用
- 忘掉BSD格式(避免
ps -aux
这种好笑的问题出现) - 关于ps命令输出释义相对较为权威的中文页面 ps 命令
# 基本上熟悉上面两种类型参数,很容易照着man page拼出一些看起来复杂,实际很好理解的组合参数。
# 简易版:所有mysqld进程按%cpu排序
watch 'ps -C mysqld -o pid=PID,user=USER,rss=RES,stat=S,%cpu,pmem,cmd --no-headers | sort -rn -k5'
# 标题输出
watch "ps -C mysqld -o pid=PID,user=USER,rss=RES,stat=S,%cpu,pmem,cmd | awk 'NR==1; NR>1 {print \$0 | \"sort -rn -k3\"}'"
网友评论