top 命令相关技巧

监控指定进程

按照名称监控进程,如果 pgrep 命令支持 -d 分隔符参数,可以:

~# top -p `pgrep -d "," java`

如果不支持,也可以使用 pidof 命令:

~# top -p `pidof java | sed 's/ /,/g'`

增加显示的项目

top 运行之后,可以按 f 键定制需要显示的项目。

例如如果想增加显示进程当前所在的 CPU 核,可以再按 j 键,项目列表就会显示:

* J: P          = Last used cpu (SMP)

然后回车,top 的输出中就包含列名为 P 的项目,显示每个进程最后使用的 CPU 核。

排序

top 运行之后,可以按键切换排序:

  • 按照 CPU 占用排序:P
  • 按照内存占用排序:M
  • z 键显示颜色,x 键高亮显示排序列。

terminal is not big enough 问题

如果系统 CPU 核数太多,显示所有核 CPU 占用会报 terminal is not big enough 错误。

此时可以使用 mpstatsar 命令,以下都是每 5 秒刷新:

  • mpstat -P ALL 5
  • sar -P ALL 5