在Linux中查看磁盘的实时读写速度很简单,可以使用“iostat”就可以做到,不过其默认输出的是“分段式” 以下几种方法均可以做到“**同一行不断刷新**”的观感。 --- ### 1.直接让 iostat “原地刷新” (最简,依赖终端控制字符) ```bash # -y 去掉第一次的平均值,-d 只看设备,-k 用 KB/s,1 表示每秒刷新 iostat -d -ky 1 ``` 此时你会看到 **光标停在同一屏**,数值每秒更新,不会滚屏。 按 `Ctrl-C` 退出。 --- ### 2.用 watch 做成“伪 UI” (适合没有 `-y` 的老版本) ```bash # -n 1 也是 1 秒刷新;-d 高亮变动字段 watch -n 1 -d 'iostat -d -k 1 1' ``` `watch` 会帮你清屏并重绘,看起来也是“原地刷新”。 缺点是多了一次子进程调用,开销可忽略。 --- ### 3.只盯某一块盘,更简洁 假设你只关心 `sda`: ```bash iostat -d -ky -p sda 1 ``` --- ### 4.想要更炫酷的实时柱状图 / 折线图 `iostat` 做不到,但另外两个工具可以无缝接力: ```bash # 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`。 Loading... 在Linux中查看磁盘的实时读写速度很简单,可以使用“iostat”就可以做到,不过其默认输出的是“分段式” 以下几种方法均可以做到“**同一行不断刷新**”的观感。 --- ### 1.直接让 iostat “原地刷新” (最简,依赖终端控制字符) ```bash # -y 去掉第一次的平均值,-d 只看设备,-k 用 KB/s,1 表示每秒刷新 iostat -d -ky 1 ``` 此时你会看到 **光标停在同一屏**,数值每秒更新,不会滚屏。 按 `Ctrl-C` 退出。 --- ### 2.用 watch 做成“伪 UI” (适合没有 `-y` 的老版本) ```bash # -n 1 也是 1 秒刷新;-d 高亮变动字段 watch -n 1 -d 'iostat -d -k 1 1' ``` `watch` 会帮你清屏并重绘,看起来也是“原地刷新”。 缺点是多了一次子进程调用,开销可忽略。 --- ### 3.只盯某一块盘,更简洁 假设你只关心 `sda`: ```bash iostat -d -ky -p sda 1 ``` --- ### 4.想要更炫酷的实时柱状图 / 折线图 `iostat` 做不到,但另外两个工具可以无缝接力: ```bash # 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 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏