dstat -n -d 可实时监控网络和磁盘吞吐量,单位自动适配(b/k/m),每秒刷新;支持自定义刷新间隔、指定设备、添加时间戳、导出csv及显示磁盘利用率。

直接用 dstat -n -d 就能同时看到网络和磁盘的实时吞吐量,单位自动适配(B、K、M),每秒刷新一次。
基础用法:网络 + 磁盘吞吐量一起看
执行以下命令即可启动实时监控:
-
dstat -n -d:显示网卡收发(recv/send)和磁盘读写(read/writ)的字节速率 -
dstat -n -d 2:每2秒刷新一次,降低滚动频率,便于观察趋势 -
dstat -n -d 3 10:每3秒采集一次,共输出10行后自动退出
输出中,“recv”“send”对应网络入/出流量,“read”“writ”对应磁盘读/写速率。数值右侧带单位(如 124K、2.3M),小值会显示为 B(字节)。
指定设备更精准
多网卡或多磁盘时,可限定具体设备,避免总览数据掩盖瓶颈:
-
dstat -n -N eth0,total -d -D sda,sdb,total:只监控 eth0 网卡和 sda、sdb 磁盘,同时显示各设备及总计 -
dstat -n -N ens33 -d -D nvme0n1:聚焦单个高速网卡与 NVMe 盘,适合排查 SSD 或千兆/万兆链路问题
注意:设备名可通过 ip link show(网卡)或 lsblk(磁盘)确认,total 表示聚合统计。
加时间戳和单位优化可读性
默认输出不含时间,对长时间运行或截图分析不够友好:
-
dstat -t -n -d:开头增加时间列(HH:MM:SS 格式) -
dstat -n -d --disk-util:额外显示磁盘利用率百分比(%util),辅助判断是否已达 I/O 瓶颈 -
dstat -n -d --output netdisk.csv:将所有数据导出为 CSV 文件,后续可用 Excel 或 Grafana 分析趋势
导出时首行为字段名,每行对应一次采样,适合做性能回溯或生成吞吐量折线图。
常见干扰项说明
初次运行时第一行数值为空或为 0,这是正常现象——dstat 需要两次采样才能计算速率;从第二行起数据才真实有效。
若看到 “wai”(CPU wait)持续偏高(>20%),同时磁盘 “writ” 持续满载,说明应用正在密集刷盘,可能触发 I/O 等待;若 “recv” 接近网卡标称带宽(如千兆网卡接近 125MB/s),则需检查上游限速或连接数是否异常。











