Slurm Workload Manager用のテキストベースのユーザーインターフェイス(TUI)。これは、クラスタージョブを管理する便利な方法を提供します。
turm
squeue
と同じオプションを受け入れます(Man Squeueを参照)。 turm --help
を使用して、利用可能なすべてのオプションのリストを取得します。
turm
はPypi and 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
の出力を解析することにより、仕事に関する情報を取得します。この理由は、 squeue
がすべてのSlurmクラスターで利用可能であり、定期的に実行することはSluRMコントローラーにとってはそれほど高価ではないためです(特にユーザーによるフィルタリングの場合)。対照的に、SlurmのC APIは不安定であり、SlurmのREST APIは常に利用可能ではなく、SluRMコントローラーに費用がかかる可能性があります。もう1つの利点は、ジョブをフィルタリングしてソートするために、ユーザーが既によく知っているsqueue
とまったく同じCLIフラグを無料でサポートすることです。
tl; dr: turm
- watch -n2 squeue
+ tail -f slurm-log.out
SluRMコントローラーとそのファイルI/O操作への影響の観点から、 turm
が可能な限り軽量であることを保証するために特別な注意が払われています。ジョブキューは、 squeue
を実行することで2秒ごとに更新されます。キューに多くのジョブがある場合は、SluRMコントローラーの負荷を減らすために1人のユーザーを指定することをお勧めします(Squeue -Userを参照)。 turm
、すべてのInotify変更通知に現在表示されているログファイルを更新し、最初の読み取り後に新しくアプリされた行を読み取ります。ただし、NFSなどのリモートファイルシステムではInotify通知がサポートされていないため、 turm
2秒ごとに新しく追加されたバイトのファイルもポーリングします。