文章

multitail命令使用

multitail命令使用

multitail:在一个终端里分屏看日志与命令(含 nvidia-smi + df -h )

multitail 可以理解为“增强版的 tail -f”:它不仅能同时追踪多个日志文件,还能把外部命令的输出当作一个窗口显示,并支持分屏布局、合并窗口、着色、过滤等功能。非常适合做一个“终端仪表盘”(Dashboard),比如左边看 GPU,右边看磁盘/内存/网络。

2. 基本概念:文件窗口 vs 命令窗口

  • 文件窗口:追踪文件内容(类似 tail -f),适合系统日志、训练日志、服务日志。
  • 命令窗口:显示某条命令的输出,适合 nvidia-smidf -hss -s 这类“状态快照”。

multitail 可以把两者混在一起做分屏监控。

4. 命令监控:把命令输出放进 multitail

4.1 直接显示命令输出

1
multitail -l "uptime" -L "free -h"

通常第一个命令用 -l,后续继续加命令用 -L

4.2 像 watch 一样“定时刷新”

命令本身只输出一次时,需要让 multitail 定时重跑(相当于 watch):

  • -R N:每 N 秒重跑一次命令
  • -rc:每次重跑前清空该窗口(否则输出会一屏屏往下堆)

示例:每 2 秒刷新一次网络连接状态

1
multitail -R 2 -rc -l "ss -s"

6. 使用小技巧

6.1 退出

在任何窗口中按:

1
q

或直接 Ctrl+C

6.2 适合谁用 multitail?

  • 你经常需要同时盯多个信号源:训练日志 + GPU + 磁盘/网络/内存
  • 你不想开一堆终端标签页,想在一个窗口里完成“观测”
  • 你希望比 watch 更强的“多面板”展示能力

6.3 什么时候用 tmux 更合适?

如果想要更自由的布局、会话保持(断线恢复)、跨主机长时间驻留,tmux + watch 也很强;而 multitail 更像“开箱即用的多窗口监控器”。


7. 一条推荐的“训练监控仪表盘”模板

把 GPU、磁盘、内存、网络都放进来:

1
2
3
4
5
multitail -s 2 \
  -R 1 -rc -l "nvidia-smi" \
  -R 5 -rc -L "df -h" \
  -R 2 -rc -L "free -h" \
  -R 2 -rc -L "ss -s"

可以按需要把 ss -s 换成 iostat -x 1 1 / nvidia-smi --query-gpu=... 等更细的指标命令。

本文由作者按照 CC BY 4.0 进行授权