首页/系统/Linux 运维命令速查/dstat 多维度资源合成视图
性能与监控48 条

dstat 多维度资源合成视图

dstat 把 CPU、磁盘、网络、内存合成宽表输出:一行同看所有维度,适合快速建立「系统在全方面什么状态」的整体画面。

Linux 运维命令速查系统更新于 2026-10-13

dstat 的价值在一屏总览

dstat 把 CPU、磁盘、网络、内存等多个维度合成一张宽表,一行就能看到系统整体状态,适合排查初期快速建立画面:到底是 CPU 满、磁盘忙还是网络堵。默认每秒刷新并持续输出。要注意它上游已停止维护,部分新发行版改用 dool 或不再提供该包,装不上时用 vmstat、iostat、sar 组合替代。

基本信息

适用平台Linux(多为额外包,RHEL 系常在 EPEL 提供)
语法dstat [选项] [间隔] [次数]
常用选项-c CPU、-d 磁盘、-n 网络、-m 内存、--disk-util 磁盘利用率、-t 时间戳、--output 导出 CSV
权限要求普通用户即可运行
替代工具dool、sysstat(sar/iostat)、vmstat

典型使用场景

  • 排查初期快速判断瓶颈在 CPU、磁盘还是网络
  • 变更前后做粗略对比:同一组维度前后各跑一次
  • 把 60 秒采样导出 CSV 存档或交给同事分析
  • 演示与培训时一屏展示全系统状态
  • 没有完善监控平台的临时机器上的观测手段

常用示例

常用示例
sudo dnf install -y dstat            # RHEL 系通常在 EPEL 提供
dstat -c -d -n -m 1                  # CPU、磁盘、网络、内存,每秒刷新
dstat --disk-util                    # 关注磁盘利用率是否接近 100%
dstat -t --output /tmp/dstat.csv 1 60   # 带时间戳导出 CSV,采 60 次
dstat -c -d -n -m --top-cpu 1 10     # 顺带显示最耗 CPU 的进程
dstat -n --net eth0 1 5              # 只看指定网卡(默认是所有网卡合计)
iostat -xz 1 5                       # 缺少 dstat 时的替代:磁盘视角
sar -u -r -n DEV 1 5                 # 替代:CPU、内存、网络一屏看

常用维度

选项维度关注点
-cCPU(用户、系统、空闲、等待)等待高说明被 IO 拖累
-d磁盘读写带宽与 IOPS带宽打满说明已到瓶颈
--disk-util磁盘利用率接近 100% 意味着排队严重
-n网络收发默认合计,需要细化要指定网卡
-m内存与 swap大量换出说明内存不足
-t 与 --output时间戳与 CSV 导出便于留档与协作分析
dstat 与 sysstat 家族互补:dstat 擅长把多个维度并排展示、便于整体判断;sar 擅长历史数据留存与趋势回看。机器上装了什么就用什么,不必强求。
排查初期跑十几秒到一分钟就足够形成判断:需要长期留档就用 --output 导出 CSV 或交给监控平台,不要让观测进程长期占着终端和资源。

易错点

  • 在新发行版上找不到 dstat:上游停更,部分系统改用 dool,装不上时切换到 sysstat 组合
  • 网络列默认是全部网卡合计:排查具体接口时必须指定网卡,否则看不出是哪块在忙
  • 只看一两次采样就下结论:短时波动不代表趋势,至少跑十几秒;要留证据就导出 CSV
  • 把它当监控平台用:dstat 是临时观测工具,缺历史留存与告警能力

数据来源与参考

  • man 1 dstat
  • dstat 官方文档

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌