Linux top
命令详解
top
命令是 Linux 系统中非常实用的一个性能监控工具,它可以实时显示系统中各个进程的资源占用情况,帮助管理员了解系统的运行状态。以下是关于 top
命令的详细介绍,包括其基本使用方法、参数说明、快捷键功能以及输出参数的含义。
常用参数
基本用法
top
:直接运行 top
命令,进入交互模式。
top [-d number]
:设置 top
命令显示页面的更新间隔时间(默认为5秒)。
top [-bnp]
:
-b
:以批处理模式运行 top
,适用于脚本中调用。
-n
:与 -b
结合使用,指定 top
命令的输出次数。
-p
:指定特定的进程ID(PID)进行监控。
参数说明
参数 |
含义 |
-d number |
number 代表秒数,表示 top 命令显示的页面更新一次的间隔时间。 |
-b |
以批处理模式执行 top ,适用于脚本中调用。 |
-n |
与 -b 结合使用,表示需要进行几次 top 命令的输出结果。 |
-p |
指定特定的 PID 进程号进行观察。 |
快捷键功能
在 top
命令显示的页面中,可以输入以下按键执行相应的功能(注意大小写区分):
快捷键 |
功能 |
? |
显示在 top 当中可以输入的命令。 |
P |
以 CPU 的使用资源排序显示。 |
M |
以内存的使用资源排序显示。 |
N |
以 PID 排序显示。 |
T |
由进程使用的时间累计排序显示。 |
k |
给某一个 PID 发送信号,可以用来杀死进程(信号 9)。 |
r |
给某个 PID 重新定制一个 nice 值(即优先级)。 |
q |
退出 top (用 Ctrl+C 也可以退出 top )。 |
输出参数含义
顶部信息
top 前五条信息解释
1
| top - 14:49:28 up 1:33, 1 user, load average: 0.00, 0.00, 0.00
|
内容 |
含义 |
14:49:28 |
当前时间。 |
up 1:33 |
系统运行时间,格式为时:分。 |
1 user |
当前登录用户数。 |
load average: 0.00, 0.00, 0.00 |
系统负载,即任务队列的平均长度。三个数值分别为 1 分钟、5 分钟、15 分钟前到现在的平均值。 |
进程统计信息
1
| Tasks: 80 total, 2 running, 78 sleeping, 0 stopped, 0 zombie
|
内容 |
含义 |
Tasks: 80 total |
进程总数。 |
2 running |
正在运行的进程数。 |
78 sleeping |
睡眠的进程数。 |
0 stopped |
停止的进程数。 |
0 zombie |
僵尸进程数。 |
CPU 使用情况
1
| Cpu(s): 0.0%us, 0.0%sy, 0.0%ni, 100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
|
内容 |
含义 |
0.0%us |
用户空间占用 CPU 百分比。 |
0.0%sy |
内核空间占用 CPU 百分比。 |
0.0%ni |
用户进程空间内改变过优先级的进程占用 CPU 百分比。 |
100.0%id |
空闲 CPU 百分比。 |
0.0%wa |
等待输入输出的 CPU 时间百分比。 |
0.0%hi |
硬中断(Hardware IRQ)占用 CPU 的百分比。 |
0.0%si |
软中断(Software Interrupts)占用 CPU 的百分比。 |
0.0%st |
用于有虚拟 CPU 的情况,用来指示被虚拟机偷掉的 CPU 时间。 |
内存使用情况
1
| Mem: 1922488k total, 406936k used, 1515552k free, 11940k buffers
|
内容 |
含义 |
1922488k total |
物理内存总量。 |
406936k used |
使用的物理内存总量。 |
1515552k free |
空闲内存总量。 |
11940k buffers |
用作内核缓存的内存量。 |
交换区使用情况
1
| Swap: 835576k total, 0k used, 835576k free, 111596k cached
|
内容 |
含义 |
835576k total |
交换区总量。 |
0k used |
使用的交换区总量。 |
835576k free |
空闲交换区总量。 |
111596k cached |
缓冲的交换区总量。 |
进程信息
列名 |
含义 |
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
命令进入时,各进程是按照 CPU 的占用量来排序的。