top命令使用tips
top
是Linux/Unix中最常用的观察性能的工具之一,但是有很多使用技巧和观察原理值得仔细研究。
top
解读
top
解读一个简单的案例
第一行
显示当前时间(
22:48:55
),系统启动时间(up 51 days, 8:47
),当前用户数量(1 user
),以及1分钟,5分钟和15分钟的平均负载10.79, 10.45, 16.44
有关平均负载的详细解释见 系统负载Load Averages的含义
第3行
us
sy
ni
-nice
表示CPU调度优先级,数值越高(+19)表示的优先级越低,而数值越低(-20)则表示优先级越高。可以通过nice
命令来启动一个进程或者在进程运行时通过renice
命令来调整。只有root
用户可以增加一个进程的优先级。
第7行字段
PID
进程唯一IDUSER
进程ownerPR
进程优先级(priority)NI
进程NICE值VIRT
进程使用的虚拟内存大小RES
进程使用的物理内存大小SHR
进程使用的共享内存(shared memory)大小S
进程的状态(status): S=sleep R=running Z=zombie%CPU
进程使用的CPU百分比%MEM
进程使用的内存百分比TIME+
进程运行的时间COMMAND
进程的命令
batch mode
batch mode
batch mode
是指批量处理无需人工交互的模式,适合脚本调用以及将输出记录到日志文件或通过其他工具进一步处理。 -b
就是Batch mode
不过,上述top
命令输出5次显示的是所有进程的性能,有可能只需要统计前10项,所以采用head -17
过滤输出(top
命令的前7行是性嫩统计摘要,所以10+7
取了前17行)
-n 5
表示采样5次
指定进程号采样top
以下命令指定对进程7890
进行20次采样,采样间隔时间是0.5
秒
-d 0.5
表示采样间隔0.5
秒
找出最消耗系统CPU的进程
找出最消耗CPU资源的5个进程:
或者
top
字段排序
top
字段排序在top
中,可以通过<
和>
来使用不同的列进行排序。不过不是很直观操作。
可以按下shift+O
来进入排序的子菜单,然后按下k
表示按照%CPU
排序,然后打一下Enter
回车退出菜单。
按下f
来进行字段添加或删除
显示指定用户进程
使用-u
参数显示特定用户进程
显示运行中的进程
在top
中,按下z
,则会高亮显示正在运行的进程
显示线程
启动top -H
,则显示完整线程。如果要观察指定进程的线程,则使用top -H -p <pid>
显示完整的进程路径
默认启动只显示一个短命令作为进程展示,要显示完整的路径命令,只要按下c
更改采样延迟时间
默认top采样延迟时间是3秒,可以按下d
键来指定采样延迟时间
杀死进程
使用k
来杀死指定进程
按CPU使用率排序
按下Shift+P
按照 每个 CPU 使用率来排序进程
按内存使用率排序
按下Shift+M
按照内存使用率来排序进程
renice进程
使用r
可以更改进程的优先级,也称为renice
保存top命令的配置
按下Shift+W
可以保当前的top配置
切换SMP模式以及图形化显示CPU繁忙程度
t
按键可以切换top的多处理器显示方式,按一次t
切换到多处理器SMP显示模式,再按一次t
会以柱状图显示CPU的繁忙程度
参考
Last updated