监控linux系统性能的关键工具包括vmstat、iostat和sar。1.vmstat用于查看系统负载与内存使用,关注r、swpd、si/so及us/sy/id字段判断cpu与内存瓶颈;2.iostat分析磁盘io性能,通过%util、await等指标识别存储瓶颈;3.sar可记录历史数据,支持事后回溯分析cpu、内存、磁盘及网络性能。掌握这些工具能有效提升问题定位效率。
监控linux系统性能是运维和开发人员日常工作中非常关键的一环。尤其是在服务器负载高、响应变慢或资源使用异常时,快速定位问题源头尤为重要。常用的几个命令工具——vmstat、iostat 和 sar,能帮助我们从不同维度了解系统的运行状态。
1. vmstat:查看整体系统负载与内存使用
vmstat 是一个轻量级但功能强大的工具,可以显示进程、内存、分页、块IO、系统中断以及CPU活动等信息。
使用建议:
- 常用命令格式:vmstat 2 5 表示每2秒输出一次,共输出5次。
- 关注字段:
- r(运行队列):当前等待CPU的进程数,数值持续高于CPU核心数可能意味着CPU瓶颈。
- swpd:使用的虚拟内存大小,如果非零且波动大,说明内存不足。
- si/so:页面交换的输入/输出速率,频繁swap会影响性能。
- us/sy/id:用户态、系统态、空闲CPU占比,用来判断CPU是否被过度占用。
提示: 如果发现大量page-in/out,应结合其他工具进一步分析是否有内存压力。
2. iostat:深入磁盘IO性能分析
当你怀疑磁盘IO成为瓶颈,比如数据库响应慢、日志写入延迟等问题,iostat 就派上用场了。
常用命令:
- iostat -x 2:每隔2秒输出扩展统计信息。
- 关键指标:
- %util:设备利用率,接近100%表示该磁盘已经饱和。
- await:平均每次IO请求的等待时间,数值偏高说明IO响应慢。
- svctm:服务时间(已逐渐不推荐),可辅助判断实际处理速度。
注意:
- 对于SSD来说,await 理想值应在几毫秒以内;HDD则可能稍高。
- 如果多个分区同时出现高IO等待,可能是存储子系统瓶颈。
3. sar:历史性能数据收集与回溯分析
相比前两个实时监控工具,sar 的优势在于它可以记录历史数据,适合用于事后分析或者生成报告。
使用方法:
- 安装sysstat包后,默认会自动记录系统状态。
- 查看当天数据:sar
- 查看某天的历史数据:sar -f /var/log/sa/saXX(XX为日期)
常用参数组合:
- CPU使用情况:sar -u
- 内存使用:sar -r
- 磁盘IO:sar -d
- 网络流量:sar -n DEV
小技巧:
- 使用 sar -A 可以导出所有类别数据,便于集中分析。
- 如果你发现某个时间段CPU负载突增,可以通过sar快速回溯当时的详细情况。
结语
这些命令虽然看起来简单,但在排查性能问题时非常实用。掌握它们的基本用法和关键指标,能让你在面对系统卡顿、资源耗尽等问题时更快做出判断。基本上就这些,用熟了你会发现其实不复杂,但很容易忽略细节。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END