Linux 全能监控神器 dstat 详解:取代 vmstat/iostat/netstat 一站式性能监控
1. 命令简介dstat 是一个功能强大的全能系统资源统计工具旨在替代多个传统监控命令如 vmstat、iostat、netstat、nfsstat 和 ifstat。 它提供了彩色界面、实时刷新和高度可定制的监控选项能够直观地展示系统性能数据。dstat 支持即时数据刷新和插件扩展是系统管理员和开发人员进行性能监控和故障排查的得力工具。2. 语法格式bash运行dstat [-afv] [options...] [delay [count]]表格参数说明delay数据刷新的时间间隔秒默认为 1 秒。count输出的数据条数若不指定则持续输出。3. 常用选项及说明基础监控选项表格选项说明-c, --cpu显示 CPU 使用率用户、系统、空闲、等待、硬中断、软中断。-C cpu_list指定监控的 CPU 核心如 -C 0,1 或 -C total。-d, --disk显示磁盘读写数据量。-D disk_list指定监控的磁盘设备如 -D sda,total。-n, --net显示网络流量接收和发送。-N net_list指定监控的网络接口如 -N eth0,total。-m, --mem显示内存使用情况已用、缓存、缓冲、空闲。-g, --page显示页面交换分页活动。-s, --swap显示交换分区使用情况。-p, --proc显示进程统计运行、阻塞、新建。-r, --io显示 I/O 请求情况读 / 写操作。-y, --sys显示系统统计中断、上下文切换。-l, --load显示系统负载1m、5m、15m 平均负载。组合与显示选项表格选项说明-a, --all默认组合选项等同于 -cdngy。-f, --full展开显示所有统计信息如完整 CPU 列表。-v, --vmstat等同于 -pmgdsc -D total模拟 vmstat 输出。-t, --time在输出中添加时间戳。--ipc显示 IPC 消息队列和信号量状态。--socket显示套接字统计TCP、UDP、RAW 等。--fs显示文件系统统计打开文件、inode 使用。--output file将输出以 CSV 格式保存到指定文件。--list列出所有可用的内置监控项和插件。插件扩展dstat 支持通过插件监控更多资源如 MySQL、电源、温度等。插件通常位于 /usr/share/dstat/使用格式为 --plugin-name如 --mysql-io。4. 示例用法默认监控模式显示 CPU、磁盘、网络、分页和系统统计信息每秒刷新一次bash运行dstat指定刷新间隔和次数每 3 秒刷新一次共输出 5 条数据bash运行dstat 3 5监控特定资源组合监控 CPU、内存和网络流量bash运行dstat -cmn添加时间戳并监控磁盘与进程显示时间戳并监控磁盘 I/O 和进程状态bash运行dstat -t -d -p使用插件监控 MySQL I/O启用 MySQL I/O 插件需安装相应依赖bash运行dstat --mysql-io输出到 CSV 文件将监控结果保存为 CSV 文件便于后续分析bash运行dstat -t -cmn --output /var/log/dstat.csv查看所有可用监控项列出内置监控项和插件bash运行dstat --list5. 注意事项依赖与安装部分插件如 MySQL、电源监控需要额外安装依赖包。使用前请确保相关依赖已满足。权限要求某些监控项如磁盘 I/O、进程详情可能需要 root 权限才能获取完整数据。输出格式使用 --output 选项时文件会持续追加数据。建议定期清理或分割文件以避免过大。性能影响在高频刷新如低于 1 秒或启用大量插件时dstat 本身可能消耗一定系统资源。在生产环境中建议合理配置监控间隔。兼容性不同版本的 dstat 选项和插件可能略有差异建议通过 man dstat 或 dstat --help 查看当前版本支持的功能。通过灵活组合选项和插件dstat 能够满足绝大多数系统资源监控需求是性能分析和故障排查的高效工具。