在top命令执行过程中一些交互命令:
从使用角度来看,熟练的掌握这些命令比掌握选项还重要一些。这些命令都是单字母的,
top命令行参数
-b 批处理模式(batch mode),可输出到管道、文件。默认情况下-b会一直输出,可以用-nN指定输出次数。
-n N限制输出次数。
-d N 刷新时间间隔。
-p PID 监控指定进程。
-H -p PID 监控指定进程和进行内线程信息。
进入top界面后的操作
按键 说明
c 显示完整的命令名。c为Command之意。
d 修改刷新时间。d为Display之意。
u 显示指定用户相关进程。u为User之意。
P 按CPU使用排序。P为Processor(处理器)之意。
M 按内存使用排序。M为Momery之意。
F 排序(进入新的界面,并选择排序的目标字段)。
R 顺序或逆序。
H 显示线程
Z 以多色彩显示top。
l/t/m toggle,load/cpu/内存信息
1 显示多CPU的信息(多核机器上查看每个CPU的使用率)。
W 保存当前top的配置
1、输入1可以看到CPU各个核的CPU负载
这里对us,sy,ni,id,wa,hi,si,st进行分别说明:
us 列显示了用户模式下所花费 CPU 时间的百分比。
us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期大于50%,需要考虑优化用户的程序。
sy 列显示了内核进程所花费的cpu时间的百分比。
这里us + sy的参考值为80%,如果us+sy 大于 80%说明可能存在CPU不足。
ni 列显示了用户进程空间内改变过优先级的进程占用CPU百分比。
id 列显示了cpu处在空闲状态的时间百分比。
wa 列显示了IO等待所占用的CPU时间的百分比。
这里wa的参考值为30%,如果wa超过30%,说明IO等待严重,这可能是磁盘大量随机访问造成的,也可能磁盘或者磁盘访问控制器的带宽瓶颈造成的(主要是块操作)。
//这个wa和vmstat中的wa是相同含义
hi 硬件中断占用CPU
si 软件中断占用CPU
st 丢失时间占用CPU
在后台服务器开发中需要关注us,sy,id,wa等常用指标。
2、top输入u,输入用户名,查看指定用户的进程信息
u 输入用户名 查看指定用户的进程信息(多个用户使用同一台机器开发时,非常有用)
3、按CPU占用率排序
Shift+p 按CPU排序
4、按内存占用率排序
Shift+m 按内存使用排序
5、按CPU占用时间排序
Shift+t 按CPU用时排序
其它:
Shift+n 按PID排序
注意:
如果在命令行选项中使用了s选项,则可能其中一些命令会被屏蔽掉。