Linux实时监控系统状态的常用工具
top是Linux系统自带的经典实时监控工具,可动态显示系统整体负载(如CPU、内存使用率、系统负载平均值)及各进程的资源消耗(CPU占比、内存占用、运行状态等)。支持交互式操作(如按h查看帮助、q退出、M按内存排序、P按CPU排序),适合快速排查系统资源瓶颈。
htop是top的增强版,提供更友好的交互界面(支持鼠标操作、颜色标记、树形进程展示),并增加了进程树、用户权限过滤、实时系统负载图表等功能。需通过包管理器安装(如sudo apt install htop(Debian/Ubuntu)、sudo yum install htop(CentOS)),适合需要更直观监控的用户。
glances是一款跨平台的实时系统监控工具,可显示CPU、内存、磁盘、网络、进程、传感器(温度)等多维度信息,支持文本、JSON、HTML等多种输出格式,还可与其他监控系统(如Prometheus)集成。需安装(如sudo apt install glances),适合需要全面系统概览的管理员。
vmstat用于报告虚拟内存、进程、CPU活动、块I/O等统计信息,支持定时采样(如vmstat 5表示每5秒刷新一次)。输出列包括us(用户空间CPU使用率)、sy(内核空间CPU使用率)、id(空闲CPU百分比)、si/so(交换空间换入/换出速率)等,适合快速定位内存或CPU瓶颈。
iotop专门用于监控进程的磁盘I/O使用情况,显示每个进程的读写速率(如Total DISK READ/Total DISK WRITE)、I/O等待时间等,支持按I/O使用率排序(按O键)。需安装(如sudo apt install iotop),适合排查磁盘I/O密集型进程。
iftop用于实时监控网络接口的带宽使用情况,按源主机与目的主机的流量排序(类似top的交互界面),显示实时上传/下载速率(如TX/RX)。需安装(如sudo apt install iftop),并以root权限运行,适合监控网络流量异常(如带宽占用过高)。
nmon是综合型实时监控工具,支持监控CPU、内存、磁盘、网络、文件系统、进程等多维度数据,提供实时图表(如CPU利用率曲线、内存使用柱状图),并支持将数据导出为CSV格式进行后续分析。需安装(如sudo apt install nmon),适合需要深入分析系统性能的管理员。
dstat整合了CPU、内存、磁盘、网络等多维度监控,支持自定义统计项(如dstat -cdngy表示监控CPU、磁盘、网络、内存、系统状态),并可与脚本结合实现自动化监控。需安装(如sudo apt install dstat),适合需要灵活定制监控内容的场景。
sar是sysstat套件的一部分,用于收集、报告系统活动的历史数据(默认每10分钟记录一次),也可实时监控(如sar -u 1 3表示每1秒采样一次CPU使用率,共3次)。输出包括CPU使用率、内存使用率、磁盘I/O、网络流量等,适合长期监控和趋势分析。