top 命令是分析 Linux 操作系统性能的工具,可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。
top 命令的语法格式为:
top [选项] [PID|time|...]
top命令的常用选项见下表。
表 1 top命令的常用选项
常用选项 |
说 明 |
-d |
屏幕刷新间隔时间 |
-p<进程号> |
指定进程 ID 来监控这个进程的状态 |
-c |
显示完整的命令 |
-b |
以批处理模式操作 |
-u <用户名> |
指定用户名 |
在该命令中常用的快捷键是:
-
q:退出程序;
-
m:切换显示内存信息;
-
c:切换显示命令名称和完整命令行;
-
i:忽略闲置和僵尸进程,这是一个开关式命令;
-
k:终止一个进程;
-
M:根据驻留内存大小进行排序;
-
P:根据CPU使用百分比大小进行排序;
-
T:根据累计时间进行排序。
举个简单的例子:
[root@noylinux ~]# top
top - 23:40:18 up 5:32, 3 users, load average: 0.58, 0.58, 0.25
Tasks: 268 total, 1 running, 267 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 1.5 sy, 0.0 ni, 98.5 id, 0.0 wa, 0.0 hi,0.0 si, 0.0 st
MiB Mem : 7742.0 totals, 5720.1 free, 1074.8 used, 947.1 buff/cache
MiB Swap: 5120.0 totals, 5120.0 free, 0.0 used. 6359.9 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 252640 15056 9736 S 0.0 0.2 0:03.82 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.03 kthreadd
3 root 0-20 0 0 0 I 0.0 0.0 0:00.00 rcu_gp
4 root 0-20 0 0 0 I 0.0 0.0 0:00.00 rcu_par_gp
......
1) 第一行是系统运行时间和平均负载。
当前系统时间是 23:40:18,系统运行时间是 5分32秒,当前登录 3 个用户,系统负载是 0.58,0.58,0.25,这3个数分别是 1 分钟、5 分钟、15 分钟的负载情况(当结果大于 5 的时候表示系统在超负荷运转)。
2) 第二行是进程的相关信息。
总进程数 150 个,运行 1 个,休眠 267 个,停止 0 个,僵尸进程 0 个。
3) 第三行 CPU 状态相关信息,各个状态参数见下表。
表 2 CPU状态参数
状态 |
说 明 |
us |
用户空间占用 CPU 的百分比(time running un-niced user processes) |
sy |
内核空间占用 CPU 的百分比(time running kernel processes) |
ni |
改变过优先级的进程占用 CPU 的百分比(time running niced user processes) |
id |
空闲 CPU 百分比(time spent in the kernel idle handler) |
wa |
I/O 等待的 CPU 时间百分比(time waiting for I/O completion) |
hi |
硬中断占用 CPU 的百分比(time spent servicing hardware interrupts) |
si |
软中断占用 CPU 的百分比(time spent servicing software interrupts) |
st |
虚拟机监控程序从这个虚拟机窃取的时间(time stolen from this vm by the hypervisor) |
4) 第四行是内存相关信息。内存信息参数见下表。
表 3 内存信息参数
状态 |
说 明 |
total |
物理内存总量 |
free |
空闲内存容量 |
used |
使用中的内存容量 |
buff/cache |
缓存的内存容量 |
5) 第五行是交换空间相关信息,参数见下表。
表 4 交换空间信息参数
状态 |
说 明 |
total |
交换分区总量 |
free |
空闲交换分区容量 |
used |
使用中的交换分区容量 |
avail Mem |
可用的交换分区容量 |
6) 第六行是空格。
7) 第七行是各个进程的状态及相关信息,参数见下表。
表 5 进程状态信息参数
列名 |
说 明 |
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 时间总计 |
COMMAND |
进程名称(命令名或完整命令行) |
本文链接:http://task.lmcjl.com/news/14995.html