turm
v0.7.3
SLURM Workload Manager的基於文本的用戶界面(TUI),它提供了一種管理集群作業的方便方法。
turm
接受與squeue
相同的選擇(請參閱Man Squeue)。使用turm --help
獲取所有可用選項的列表。
turm
可在PYPI和Crates.io上使用:
# With pip.
pip install turm
# With pipx.
pipx install turm
# With uv.
uv tool install turm
# With cargo.
cargo install turm
# With wget. Make sure ~/.local/bin is in your $PATH.
wget https://github.com/kabouzeid/turm/releases/latest/download/turm-x86_64-unknown-linux-musl.tar.gz -O - | tar -xz -C ~ /.local/bin/
發布頁面還包含用於Linux的預編譯二進製文件。
在您的.bashrc
中,添加以下行:
eval " $( turm completion bash ) "
在您的.zshrc
中,添加以下行:
eval " $( turm completion zsh ) "
在您的config.fish
或單獨的completions/turm.fish
文件中,添加以下行:
turm completion fish | source
turm
通過解析squeue
的輸出來獲取有關工作的信息。這樣做的原因是所有slurm簇都可以使用squeue
,並且對於Slurm Controller(尤其是用戶過濾時),定期運行它並不太貴。相比之下,Slurm的C API不穩定,Slurm的REST API並不總是可用的,對於Slurm控制器而言可能是昂貴的。另一個優點是,我們可以免費提供與squeue
完全相同的CLI標誌,用戶已經熟悉,用於過濾和分類作業。
tl; dr: turm
watch -n2 squeue
+ tail -f slurm-log.out
已經特別注意確保turm
對Slurm控制器及其文件I/O操作的影響盡可能輕巧。通過運行squeue
,每兩秒鐘更新一次作業隊列。當隊列中有許多作業時,建議指定單個用戶以減少slurm控制器上的負載(請參閱Squeue -user)。 turm
在每個Inotify修改通知上更新當前顯示的日誌文件,並且僅在初始讀取後讀取新附加的行。但是,由於不支持遠程文件系統(例如NFS)的插圖通知,因此turm
還會每兩秒鐘對新附加字節的文件進行輪詢。