在Linux中查看磁盘的实时读写速度很简单,可以使用“iostat”就可以做到,不过其默认输出的是“分段式”

以下几种方法均可以做到“同一行不断刷新”的观感。


1.直接让 iostat “原地刷新”

(最简,依赖终端控制字符)

# -y 去掉第一次的平均值,-d 只看设备,-k 用 KB/s,1 表示每秒刷新
iostat -d -ky 1

此时你会看到 光标停在同一屏,数值每秒更新,不会滚屏。
Ctrl-C 退出。


2.用 watch 做成“伪 UI”

(适合没有 -y 的老版本)

# -n 1 也是 1 秒刷新;-d 高亮变动字段
watch -n 1 -d 'iostat -d -k 1 1'

watch 会帮你清屏并重绘,看起来也是“原地刷新”。
缺点是多了一次子进程调用,开销可忽略。


3.只盯某一块盘,更简洁

假设你只关心 sda

iostat -d -ky -p sda 1

4.想要更炫酷的实时柱状图 / 折线图

iostat 做不到,但另外两个工具可以无缝接力:

# 1. 安装(Debian/Ubuntu 举例)
sudo apt install dstat nethogs

# 2. 彩色滚动输出
dstat -d --disk-util

# 3. 类 htop 的磁盘视图
sudo iotop -o   # 只看有 I/O 的进程

小结

  • 你已经装了 iostat,最简单就是iostat -d -ky 1就能达到“原地刷新”效果。
  • 如果版本太老不支持 -y,就套一层 watch
  • 需要更漂亮的实时图,再考虑 dstat / iotop / nmon
最后修改:2025 年 12 月 03 日
如果觉得我的文章对你有用,请随意赞赏