命令功能
top命令是 Linux 系统中最常用的实时性能监控工具,用于动态显示系统中各个进程的资源占用状况,包括 CPU、内存、负载等关键指标。它提供了一个全屏交互式界面,可以实时监控系统运行状态。
基本语法
top [选项]
常用选项
| 选项 | 说明 |
|---|---|
-d | 指定刷新间隔时间(秒) |
-n | 指定刷新次数后退出 |
-p | 监控指定进程 ID |
-u | 监控指定用户的进程 |
-c | 显示完整的命令行 |
-b | 批处理模式,输出到文件 |
-H | 显示线程信息 |
-i | 不显示闲置或僵死进程 |
使用示例
启动 top 监控
top
每 2 秒刷新一次
top -d 2
监控指定进程
top -p 1234
监控指定用户
top -u username
批处理模式输出到文件
top -b -n 1 > top_output.txt
界面说明
系统摘要信息(顶部)
第一行:系统时间、运行时间、登录用户数、系统负载(1分钟、5分钟、15分钟)
top - 10:30:00 up 10 days, 1:23, 3 users, load average: 0.05, 0.10, 0.15
第二行:进程总数(运行中、睡眠中、停止、僵尸)
Tasks: 120 total, 1 running, 119 sleeping, 0 stopped, 0 zombie
第三行:CPU 使用率(用户、系统、空闲、等待、硬中断、软中断)
%Cpu(s): 1.5 us, 0.5 sy, 98.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.0 si
第四行:物理内存使用(总内存、已用、空闲、缓存)
KiB Mem : 16384000 total, 4096000 free, 8192000 used, 4096000 buff/cache
第五行:交换分区使用
KiB Swap: 4194304 total, 0 free, 4194304 used. 8192000 avail Mem
进程列表(主体)
| 字段 | 说明 |
|---|---|
PID | 进程 ID |
USER | 进程所有者 |
PR | 优先级 |
NI | nice 值 |
VIRT | 虚拟内存大小 |
RES | 物理内存大小 |
SHR | 共享内存大小 |
S | 进程状态 |
%CPU | CPU 使用率 |
%MEM | 内存使用率 |
TIME+ | 占用 CPU 时间 |
COMMAND | 进程命令 |
交互式命令
排序命令
| 命令 | 功能 |
|---|---|
P | 按 CPU 使用率排序 |
M | 按内存使用率排序 |
N | 按进程 ID 排序 |
T | 按运行时间排序 |
k | 按字母顺序排序 |
显示控制
| 命令 | 功能 |
|---|---|
h | 显示帮助 |
q | 退出 top |
1 | 显示所有 CPU 核心的详细信息 |
f | 自定义显示字段 |
o | 自定义排序字段 |
u | 只显示指定用户的进程 |
c | 显示完整命令行 |
H | 显示线程信息 |
i | 忽略闲置和僵死进程 |
z | 高亮显示运行中的进程 |
进程管理
| 命令 | 功能 |
|---|---|
k | 终止进程(输入 PID) |
r | 调整进程优先级(输入 nice 值) |
实用技巧
查找高 CPU 占用进程
top -o %CPU
查找高内存占用进程
top -o %MEM
监控特定进程
top -p $(pgrep nginx)
保存 top 输出
top -b -n 1 | head -20
定时执行并保存
while true; do top -b -n 1 | head -20 >> top_log.txt; sleep 5; done
注意事项
- 权限要求:普通用户只能查看自己的进程,root 用户可以查看所有进程
- 资源消耗:top 本身会占用少量系统资源
- 实时性:默认每 3 秒刷新一次,可通过
-d调整 - 批处理模式:
-b选项适合脚本中使用
相关命令
htop:增强版的 top 命令ps:显示进程快照free:显示内存使用vmstat:显示虚拟内存统计iostat:显示磁盘 I/O 统计
总结
top命令是 Linux 系统管理员必备的工具,通过实时监控系统资源使用情况,可以快速定位性能瓶颈和异常进程。熟练掌握 top 的交互式命令和选项,能够大大提高系统运维效率。