top 是经常使用的查看系统负载的工具,学习记录一些常用的命令。

示例:

file

第一行,任务队列信息,同 uptime 命令的执行结果,具体参数说明情况如下:
16:22:29 — 当前系统时间
up 33 days, 2:54 — 系统已经运行了33天2小时54分钟(在这期间系统没有重启过)
1 users — 当前有1个用户登录系统
load average: 0.00, 0.01, 0.05 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。
load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。

第二行,Tasks — 任务(进程),具体信息说明如下:
系统现在共有94个进程,其中处于运行中的有2个,92个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。

第三行,cpu状态信息,具体属性说明如下:
0.3%us — 用户空间占用CPU的百分比。
0.0% sy — 内核空间占用CPU的百分比。
0.0% ni — 改变过优先级的进程占用CPU的百分比
99.7% id — 空闲CPU百分比
0.0% wa — IO等待占用CPU的百分比
0.0% hi — 硬中断(Hardware IRQ)占用CPU的百分比
0.0% si — 软中断(Software Interrupts)占用CPU的百分比

第四行,内存状态,具体信息如下:
1016516k total — 物理内存总量(1GB)
330000k used — 使用中的内存总量(330MB)
71060k free — 空闲内存总量(71MB)
615456k buffers — 缓存的内存量 (615M)

第五行,swap交换分区信息,具体信息说明如下:
0k total — 交换区总量(0GB)
0k free — 空闲交换区总量(0GB)
0k used — 使用的交换区总量(0GB)
285384k cached — 缓冲的交换区总量(285MB)

第六行,空行。

第七行以下:各进程(任务)的状态监控,项目列信息说明如下:
PID — 进程id
USER — 进程所有者
PR — 进程优先级
NI — nice值。负值表示高优先级,正值表示低优先级
VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR — 共享内存大小,单位kb
S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU — 上次更新到现在的CPU时间占用百分比
%MEM — 进程使用的物理内存百分比
TIME+ — 进程使用的CPU时间总计,单位1/100秒
COMMAND — 进程名称(命令名/命令行)

下面列出一些常用的 top命令操作指令
q:退出top命令
:立即刷新
s:设置刷新时间间隔
c:显示命令完全模式
t::显示或隐藏进程和CPU状态信息
m:显示或隐藏内存状态信息
l:显示或隐藏uptime信息
f:增加或减少进程显示标志
S:累计模式,会把已完成或退出的子进程占用的CPU时间累计到父进程的MITE+
P:按%CPU使用率排行
T:按MITE+排行
M:按%MEM排行
u:指定显示用户进程
r:修改进程renice值
kkill:进程
i:只显示正在运行的进程
W:保存对top的设置到文件^/.toprc,下次启动将自动调用toprc文件的设置。
1:查看cpu明细
b: 切换高亮显示
x:切换高亮显示列
y:切换高亮显示runing任务
<,>: 可以向左或右改变排序列
h:帮助命令。

看了上面的,再用h查看下详细帮助,刻意练习下,top的使用就差不多了。