Linux性能监控命令有哪些?
发布时间:2025-11-29 00:03       
Linux系统性能监控是系统运维、服务器管理和性能优化中最基础且关键的环节之一。通过使用多种命令工具,管理员可以实时了解CPU、内存、磁盘、网络等资源的运行状态,从而及时发现性能瓶颈与潜在问题。下面将详细介绍常用且高效的Linux性能监控命令及其实用场景。⚙️

一、CPU性能监控命令
- top
- 用途:实时显示系统运行状态,包括CPU使用率、内存占用、进程信息等。
- 重点参数:
1:显示每个CPU核心的使用情况。P:按CPU使用率排序。
- 特点:可交互操作,是最常用的综合性能监控工具。
- htop
- 用途:是
top的增强版,界面更加直观,支持彩色显示和交互式操作。 - 优点:可通过上下键快速结束进程或查看线程信息,适合快速排查高负载进程。
- 用途:是
- mpstat
- 用途:查看每个CPU核心的使用率。
- 示例:
mpstat -P ALL 2 - 场景:分析多核CPU是否均衡使用,判断是否存在单核负载过高现象。
二、内存与交换区监控命令
- free
- 用途:快速查看内存和Swap使用情况。
- 常用格式:
free -h - 输出信息包括总内存、已用、可用、缓存与交换分区状态。
- vmstat
- 用途:综合监控系统的内存、进程、IO、中断、CPU等。
- 示例:
vmstat 2 5 - 作用:通过持续监控判断系统负载变化趋势,非常适合性能分析与调优。
- smem
- 用途:更准确地统计每个进程实际使用的内存(包括共享内存)。
- 优势:区别于
ps的RSS统计,smem更能反映真实内存占用情况。
三、磁盘性能与IO监控命令
- iostat
- 用途:监控CPU与磁盘I/O性能。
- 示例:
iostat -x 2 - 关键指标:
%util:磁盘利用率,超过80%表示磁盘可能成为瓶颈。await:I/O请求平均等待时间。
- 使用场景:判断磁盘IO瓶颈、分析存储性能。
- df
- 用途:查看文件系统磁盘空间使用情况。
- 示例:
df -h - 场景:检查磁盘空间是否充足、防止因空间不足导致系统异常。
- du
- 用途:统计目录或文件占用的磁盘空间。
- 示例:
du -sh /var/log/* - 应用:快速定位大文件或日志堆积问题。💾
- iotop
- 用途:实时显示各进程的磁盘IO占用情况。
- 优点:可直接找出高IO进程,适合IO异常排查。
四、网络性能监控命令
- ifstat
- 用途:监控网络接口实时流量。
- 示例:
ifstat -t - 适用:监控服务器上行、下行速率,识别带宽瓶颈。
- sar
- 用途:多功能系统性能收集工具,可监控CPU、内存、磁盘、网络等多项指标。
- 示例:
sar -n DEV 2 5 - 特点:可结合
sysstat工具进行长期性能数据分析。
- netstat / ss
- 用途:查看网络连接、端口状态与监听服务。
ss是netstat的现代替代工具,性能更高。- 示例:
ss -tuln - 场景:分析网络连接数量、检测异常端口。
- iftop
- 用途:实时显示网络带宽使用情况。
- 优点:可识别出哪些IP或端口占用最多网络资源。🌐
五、进程与系统状态监控命令
- ps
- 用途:查看系统中运行的进程。
- 示例:
ps aux | grep nginx - 结合
grep可精准定位指定进程。
- pidstat
- 用途:监控指定进程的CPU、内存、IO等资源使用情况。
- 示例:
pidstat -p <PID> 2 - 使用场景:定位高负载进程,分析资源消耗来源。
- uptime
- 用途:快速查看系统运行时长、当前登录用户数、平均负载。
- 示例:
uptime - 平均负载数值是判断系统繁忙程度的重要参考。
六、系统综合监控工具
- dstat
- 用途:整合了
vmstat、iostat、netstat等多种监控信息。 - 示例:
dstat -cdngy - 优点:一条命令即可同时查看CPU、磁盘、网络和内存状态。
- 用途:整合了
- nmon
- 用途:IBM开发的性能分析工具,界面直观。
- 特性:可导出数据用于图形化分析,适合长期监控。
七、总结 🧩
Linux性能监控命令众多,但核心目标是一致的:通过实时数据了解系统运行状况,发现性能瓶颈并优化系统稳定性。
常用组合建议:
- 实时监控:
htop+iotop+iftop - 历史分析:
sar+vmstat - 快速排查:
top+df+ps
通过熟练掌握这些命令,运维人员可以高效定位问题、评估系统性能,并确保服务器在高负载环境下依然稳定运行。💪