top 命令
top
命令用于动态显示 Linux 系统中运行的进程信息,是系统监控和性能调优的重要工具。与 ps
命令不同,top
命令能够实时刷新显示进程的状态、资源占用等信息。
字段说明
top
命令输出中各字段的含义:
关键词 | 描述 |
---|---|
USER | 启动进程的用户 |
PID | 进程的标识号 |
%CPU | 进程的 CPU 占用率 |
%MEM | 进程的物理内存占用率 |
VSZ | 虚拟内存使用量,单位 KB |
RSS | 物理内存占用量,单位 KB |
TTY | 启动进程的终端 |
STAT | 进程状态 |
START | 进程启动时间 |
TIME | 进程占用的 CPU 时间 |
COMMAND | 执行的具体命令 |
进程状态(STAT)的含义
- R:运行
- S:睡眠,可被唤醒
- D:睡眠,不可被唤醒(通常是等待 I/O)
- T:停止
- Z:僵尸进程
常用命令选项
命令选项 | 描述 | 示例 |
---|---|---|
-d | 指定两次刷新之间的时间间隔,默认3秒 | top -d 5 |
-p | 仅监控指定 PID 的进程,最多 20 个 | top -p 1234 |
-n | 刷新指定次数后退出 | top -n 10 |
-b | 批量模式输出 | top -b |
使用 top
命令打印进程列表
top
top
命令输出的详细解释
第一行:系统当前状态
top - 14:32:01 up 2 days, 4:34, 2 users, load average: 0.01, 0.05, 0.09
- 当前时间:14:32:01
- 系统运行时间:2天4小时34分钟
- 登录用户数:2
- 系统负载平均值:1分钟、5分钟、15分钟的平均负载分别为 0.01、0.05、0.09
第二行:任务队列信息
Tasks: 195 total, 2 running, 192 sleeping, 1 stopped, 0 zombie
- 总进程数:195
- 运行进程数:2
- 睡眠进程数:192
- 停止进程数:1
- 僵尸进程数:0
第三行:CPU 状态信息
%Cpu(s): 1.2 us, 0.3 sy, 0.0 ni, 98.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
- us:用户态进程占用 CPU 的时间百分比
- sy:系统态进程占用 CPU 的时间百分比
- ni:用户态改变优先级的进程占用 CPU 的时间百分比
- id:空闲 CPU 时间百分比
- wa:等待 I/O 占用 CPU 的时间百分比
- hi:硬件中断占用 CPU 的时间百分比
- si:软件中断占用 CPU 的时间百分比
- st:被虚拟化程序偷取的 CPU 时间百分比
第四行:物理内存信息
KiB Mem: 2048000 total, 1624884 used, 423116 free, 69440 buffers
- 内存总量:2048000 KB
- 已使用内存:1624884 KB
- 空闲内存:423116 KB
- 用作缓冲区的内存:69440 KB
第五行:交换内存信息
KiB Swap: 4096000 total, 1000000 used, 3096000 free. 1234560 cached Mem
- 交换区总量:4096000 KB
- 已使用交换区:1000000 KB
- 空闲交换区:3096000 KB
- 缓存的内存:1234560 KB
进程信息部分
字段 描述 PID 进程 ID USER 进程所有者 PR 进程优先级 NI nice值,负数表示高优先级 VIRT 虚拟内存使用量(KB) RES 常驻内存使用量(KB) SHR 共享内存使用量(KB) S 进程状态 %CPU CPU 占用率 %MEM 内存占用率 TIME+ CPU 使用时间总和(秒) COMMAND 执行命令
示例
假设我们使用以下命令来运行 top
:
top -d 2 -n 5
这个命令将 top
刷新间隔设置为2秒,并在刷新5次后退出。
使用 top
命令监控特定进程
top -p 1234
该命令仅显示 PID 为 1234 的进程信息。
本文由mdnice多平台发布
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。