简介
top 命令是 Linux 下罕用的性能剖析工具,可能实时显示零碎中各个过程的资源占用情况,相似于 Windows 的工作管理器。
top 显示零碎以后的过程和其余情况, 是一个动态显示过程, 即能够通过用户按键来一直刷新以后状态. 如果在前台执行该命令, 它将独占前台, 直到用户终止该程序为止. 比拟精确的说,top 命令提供了实时的对系统处理器的状态监督. 它将显示零碎中 CPU 最“敏感”的工作列表. 该命令能够按 CPU 应用. 内存应用和执行工夫对工作进行排序;而且该命令的很多个性都能够通过交互式命令或者在集体定制文件中进行设定.
上面具体介绍它的应用办法。
参数含意
top - 01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48
Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.3% us, 1.0% sy, 0.0% ni, 98.7% id, 0.0% wa, 0.0% hi, 0.0% si
Mem: 191272k total, 173656k used, 17616k free, 22052k buffers
Swap: 192772k total, 0k used, 192772k free, 123988k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1379 root 16 0 7976 2456 1980 S 0.7 1.3 0:11.03 sshd
14704 root 16 0 2128 980 796 R 0.7 0.5 0:02.72 top
1 root 16 0 1992 632 544 S 0.0 0.3 0:00.90 init
2 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0
3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 watchdog/0
统计信息区前五行是零碎整体的统计信息。第一行是工作队列信息,同 uptime 命令的执行后果。其内容如下:
01:06:48 以后工夫
up 1:22 零碎运行工夫,格局为时: 分
1 user 以后登录用户数
load average: 0.06, 0.60, 0.48 零碎负载,即工作队列的均匀长度。三个数值别离为 1 分钟、5 分钟、15 分钟前到当初的平均值。
第二、三行为过程和 CPU 的信息。当有多个 CPU 时,这些内容可能会超过两行。内容如下:
total 过程总数
running 正在运行的过程数
sleeping 睡眠的过程数
stopped 进行的过程数
zombie 僵尸过程数
Cpu(s):
0.3% us 用户空间占用 CPU 百分比
1.0% sy 内核空间占用 CPU 百分比
0.0% ni 用户过程空间内扭转过优先级的过程占用 CPU 百分比
98.7% id 闲暇 CPU 百分比
0.0% wa 期待输入输出的 CPU 工夫百分比
0.0%hi:硬件 CPU 中断占用百分比
0.0%si:软中断占用百分比
0.0%st:虚拟机占用百分比
最初两行为内存信息。内容如下:
Mem:
191272k total 物理内存总量
173656k used 应用的物理内存总量
17616k free 闲暇内存总量
22052k buffers 用作内核缓存的内存量
Swap:
192772k total 替换区总量
0k used 应用的替换区总量
192772k free 闲暇替换区总量
123988k cached 缓冲的替换区总量, 内存中的内容被换出到替换区,而后又被换入到内存,但应用过的替换区尚未被笼罩,该数值即为这些内容已存在于内存中的替换区的大小, 相应的内存再次被换出时可不用再对替换区写入。
过程信息区统计信息区域的下方显示了各个过程的详细信息。首先来认识一下各列的含意。
序号 列名 含意
a PID 过程 id
b PPID 父过程 id
c RUSER Real user name
d UID 过程所有者的用户 id
e USER 过程所有者的用户名
f GROUP 过程所有者的组名
g TTY 启动过程的终端名。不是从终端启动的过程则显示为 ?
h PR 优先级
i NI nice 值。负值示意高优先级,正值示意低优先级
j P 最初应用的 CPU,仅在多 CPU 环境下有意义
k %CPU 上次更新到当初的 CPU 工夫占用百分比
l TIME 过程应用的 CPU 工夫总计,单位秒
m TIME+ 过程应用的 CPU 工夫总计,单位 1 /100 秒
n %MEM 过程应用的物理内存百分比
o VIRT 过程应用的虚拟内存总量,单位 kb。VIRT=SWAP+RES
p SWAP 过程应用的虚拟内存中,被换出的大小,单位 kb。q RES 过程应用的、未被换出的物理内存大小,单位 kb。RES=CODE+DATA
r CODE 可执行代码占用的物理内存大小,单位 kb
s DATA 可执行代码以外的局部 (数据段 + 栈) 占用的物理内存大小,单位 kb
t SHR 共享内存大小,单位 kb
u nFLT 页面谬误次数
v nDRT 最初一次写入到当初,被批改过的页面数。w S 过程状态(D= 不可中断的睡眠状态,R= 运行,S= 睡眠,T= 跟踪 / 进行,Z= 僵尸过程)
x COMMAND 命令名 / 命令行
y WCHAN 若该过程在睡眠,则显示睡眠中的零碎函数名
z Flags 工作标记,参考 sched.h
默认状况下仅显示比拟重要的 PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND 列。能够通过上面的快捷键来更改显示内容。
更改显示内容通过 f 键能够抉择显示的内容。按 f 键之后会显示列的列表,按 a-z 即可显示或暗藏对应的列,最初按回车键确定。
按 o 键能够扭转列的显示程序。按小写的 a-z 能够将相应的列向右挪动,而大写的 A-Z 能够将相应的列向左挪动。最初按回车键确定。
按大写的 F 或 O 键,而后按 a-z 能够将过程依照相应的列进行排序。而大写的 R 键能够将以后的排序倒转。
命令应用
top 应用格局
top [-] [d] [p] [q] [C] [S] [s] [n]
参数阐明
d 指定每两次屏幕信息刷新之间的工夫距离。当然用户能够应用 s 交互命令来扭转之。p 通过指定监控过程 ID 来仅仅监控某个过程的状态。q 该选项将使 top 没有任何提早的进行刷新。如果调用程序有超级用户权限,那么 top 将以尽可能高的优先级运行。S 指定累计模式
s 使 top 命令在平安模式中运行。这将去除交互命令所带来的潜在危险。i 使 top 不显示任何闲置或者僵死过程。c 显示整个命令行而不只是显示命令名
其余实用命令
上面介绍在 top 命令执行过程中能够应用的一些交互命令。从应用角度来看,纯熟的把握这些命令比把握选项还重要一些。这些命令都是单字母的,如果在命令行选项中应用了 s 选项,则可能其中一些命令会被屏蔽掉。
Ctrl+L 擦除并且重写屏幕。h 或者? 显示帮忙画面,给出一些简短的命令总结阐明。k 终止一个过程。零碎将提醒用户输出须要终止的过程 PID,以及须要发送给该过程什么样的信号。个别的终止过程能够应用 15 信号;如果不能失常完结那就应用信号 9 强制完结该过程。默认值是信号 15。在平安模式中此命令被屏蔽。i 疏忽闲置和僵死过程。这是一个开关式命令。q 退出程序。r 重新安排一个过程的优先级别。零碎提醒用户输出须要扭转的过程 PID 以及须要设置的过程优先级值。输出一个正值将使优先级升高,反之则能够使该过程领有更高的优先权。默认值是 10。S 切换到累计模式。s 扭转两次刷新之间的延迟时间。零碎将提醒用户输出新的工夫,单位为 s。如果有小数,就换算成 m s。输出 0 值则零碎将一直刷新,默认值是 5 s。须要留神的是如果设置太小的工夫,很可能会引起一直刷新,从而基本来不及看清显示的状况,而且零碎负载也会大大增加。f 或者 F 从以后显示中增加或者删除我的项目。o 或者 O 扭转显示我的项目的程序。l 切换显示均匀负载和启动工夫信息。m 切换显示内存信息。t 切换显示过程和 CPU 状态信息。c 切换显示命令名称和残缺命令行。M 依据驻留内存大小进行排序。P 依据 CPU 应用百分比大小进行排序。T 依据工夫 / 累计工夫进行排序。W 将以后设置写入~/.toprc 文件中。这是写 top 配置文件的举荐办法。
附罕用操作:
top // 每隔 5 秒显式所有过程的资源占用状况
top -d 2 // 每隔 2 秒显式所有过程的资源占用状况
top -c // 每隔 5 秒显式过程的资源占用状况,并显示过程的命令行参数(默认只有过程名)
top -p 12345 -p 6789// 每隔 5 秒显示 pid 是 12345 和 pid 是 6789 的两个过程的资源占用状况
top -d 2 -c -p 123456 // 每隔 2 秒显示 pid 是 12345 的过程的资源应用状况,并显式该过程启动的命令行参数
转自:http://www.w3pop.com/learn/vi…