Linux top命令:查看系统运行状态
top 命令是分析 Linux 操作系统性能的工具,可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。
top 命令的语法格式为:
在该命令中常用的快捷键是:
举个简单的例子:
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 状态相关信息,各个状态参数见下表。
4) 第四行是内存相关信息。内存信息参数见下表。
5) 第五行是交换空间相关信息,参数见下表。
6) 第六行是空格。
7) 第七行是各个进程的状态及相关信息,参数见下表。
top 命令的语法格式为:
top [选项] [PID|time|...]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 状态相关信息,各个状态参数见下表。
状态 | 说 明 |
---|---|
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) 第四行是内存相关信息。内存信息参数见下表。
状态 | 说 明 |
---|---|
total | 物理内存总量 |
free | 空闲内存容量 |
used | 使用中的内存容量 |
buff/cache | 缓存的内存容量 |
5) 第五行是交换空间相关信息,参数见下表。
状态 | 说 明 |
---|---|
total | 交换分区总量 |
free | 空闲交换分区容量 |
used | 使用中的交换分区容量 |
avail Mem | 可用的交换分区容量 |
7) 第七行是各个进程的状态及相关信息,参数见下表。
列名 | 说 明 |
---|---|
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 | 进程名称(命令名或完整命令行) |