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