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 能够满足绝大多数系统资源监控需求,是性能分析和故障排查的高效工具。