关于ps命令使用上的理解

平时一定有不少童鞋和我一样,上机器先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\"}'"

你可能感兴趣的:(关于ps命令使用上的理解)