在多个GPU服务器上运行相同命令是常见需求。比如批量更新系统、部署训练环境或检查状态。如果开多个终端窗口逐个操作,效率很低。

广播输入功能

最近发现Termius的广播输入(Broadcast Input)功能可以将我的键盘输入同时发送到多个终端。在分屏视图中打开多个 SSH 连接,启用广播输入后,输入一次命令就能在所有服务器上同时执行,并显示运行结果。

实际应用

批量环境部署

# 在8台服务器上同时安装深度学习环境
conda create -n expname python=3.9 -y
conda activate expname
pip install torch==2.0.1 transformers datasets

批量状态检查

# 同时查看所有服务器的GPU使用情况
nvidia-smi

# 持续检测系统信息
dool -cdngyltm --disk-util --disk-tps --fs 1

文件操作

# 批量创建实验目录
mkdir -p runs/qwen_$(date +%Y%m%d)

# 批量清理日志
rm -rf runs/*/logs/*.log

一些细节

  • 单个视图最多支持 16 个终端

  • 可以随时开关广播功能

  • 可以通过Focus mode切换到单终端操作

注意事项

  • 每个终端处理速度不同,要等所有终端都完成上一个命令,再输入下一个

  • 注意不同服务器的配置可能有差异(CUDA版本、路径等)

其他选择

总结

图形化操作的Termius终端广播输入,配置和管理几台服务器还挺方便的。

参考资料