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 | sourceturm通过解析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还会每两秒钟对新附加字节的文件进行轮询。