命令概述
top 命令是 Linux 系统中一个强劲的实时系统监控工具,用于动态显示系统中各个进程的资源占用情况。
基本语法
bash
top [选项]
常用选项
bash
-d <秒数> # 设置刷新间隔时间
-p <PID> # 监控指定进程ID
-u <用户名> # 只显示指定用户的进程
-n <次数> # 设置刷新次数后退出
-b # 批处理模式,适合输出到文件
-H # 显示线程信息
启动与退出
bash
top # 启动top
q 或 Ctrl+C # 退出top
top 界面详解
顶部系统概览区
text
top - 10:30:00 up 10 days, 1:15, 3 users, load average: 0.05, 0.10, 0.15
Tasks: 250 total, 1 running, 249 sleeping, 0 stopped, 0 zombie
%Cpu(s): 1.5 us, 0.5 sy, 0.0 ni, 98.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 15927.4 total, 1024.2 free, 8192.0 used, 6711.2 buff/cache
MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 7234.6 avail Mem
各字段含义:
- 第一行:系统时间、运行时间、登录用户数、系统负载(1分钟、5分钟、15分钟平均值)
- 第二行:进程总数、运行中、睡眠中、停止、僵尸进程数量
- 第三行:CPU使用率(用户空间、系统空间、nice值、空闲、等待IO、硬件中断、软件中断、虚拟机占用)
- 第四行:物理内存使用情况
- 第五行:交换分区使用情况
进程列表区
text
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1234 root 20 0 123456 78900 5678 S 5.0 0.5 10:30.01 java
5678 mysql 20 0 234567 45678 2345 S 2.5 0.3 5:15.20 mysqld
各列含义:
- PID:进程ID
- USER:进程所有者
- PR:优先级
- NI:nice值(负值表明高优先级)
- VIRT:虚拟内存使用量(KB)
- RES:物理内存使用量(KB)
- SHR:共享内存大小(KB)
- S:进程状态(R=运行, S=睡眠, Z=僵尸, D=不可中断睡眠, T=停止)
- %CPU:CPU使用率
- %MEM:内存使用率
- TIME+:累计CPU时间
- COMMAND:命令名/命令行
交互式命令(在top运行时使用)
排序控制
bash
P # 按CPU使用率排序(默认)
M # 按内存使用率排序
N # 按PID排序
T # 按运行时间排序
R # 反转排序顺序
显示控制
bash
l # 切换显示系统负载信息
t # 切换显示CPU状态信息
m # 切换显示内存信息
1 # 切换显示每个CPU核心的详细使用情况
H # 切换显示线程信息
进程操作
bash
k # 终止指定进程(输入PID和信号)
r # 重新设置进程的nice值
刷新控制
bash
Space # 立即刷新显示
s # 改变刷新间隔时间(秒)
实用示例
基本使用
bash
top # 启动top监控
top -d 5 # 每5秒刷新一次
top -u mysql # 只显示mysql用户的进程
top -p 1234,5678 # 监控指定PID的进程
批处理模式
bash
top -b -n 3 > top.log # 输出3次快照到文件
top -b -d 2 -n 5 > monitor.txt # 每2秒刷新,共5次
监控特定进程
bash
top -p $(pgrep java) # 监控所有Java进程
高级技巧
保存top配置
bash
# 在top中设置好显示选项后按 W 保存配置
W # 将当前配置保存到 ~/.toprc
颜色显示
bash
z # 切换颜色显示
x # 高亮显示排序的列
b # 切换粗体显示
字段管理
bash
f # 进入字段管理界面,选择显示哪些列
o # 交互式调整列顺序
退出状态
- 0:成功执行
- 1:语法错误或运行错误
- 其他:其他错误情况
注意事项
- top显示的是实时数据,会不断更新
- 默认按CPU使用率排序
- 可以使用重定向将输出保存到文件
- 在批处理模式下适合用于脚本中的系统监控
这个命令是系统管理员诊断性能问题的重大工具,熟练掌握可以快速定位系统资源瓶颈。

© 版权声明
文章版权归作者所有,未经允许请勿转载。如内容涉嫌侵权,请在本页底部进入<联系我们>进行举报投诉!
THE END


















暂无评论内容