واجهة المستخدم المستندة إلى النص (TUI) لمدير عبء العمل Slurm ، والذي يوفر طريقة مريحة لإدارة وظائف العنقوقة الخاصة بك.
turm
يقبل نفس الخيارات مثل squeue
(انظر Man Squeue). استخدم turm --help
للحصول على قائمة بجميع الخيارات المتاحة.
يتوفر turm
على Pypi و Cats.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 (خاصة عند التصفية بواسطة المستخدم). على النقيض من ذلك ، فإن API C Slurm غير مستقر ، و API REST من Slurm غير متوفر دائمًا ويمكن أن يكون مكلفًا لوحدة التحكم SLURM. ميزة أخرى هي أننا نحصل على دعم مجاني لنفس أعلام CLI تمامًا مثل squeue
، والتي يعرفها المستخدمون بالفعل ، لتصفية الوظائف وفرزها.
tl ؛ Dr: turm
≈ watch -n2 squeue
+ tail -f slurm-log.out
تم توخي الحذر الخاص لضمان أن turm
خفيفة الوزن قدر الإمكان من حيث تأثيرها على وحدة التحكم Slurm وعمليات I/O في ملف. يتم تحديث قائمة انتظار الوظيفة كل ثانيتين عن طريق تشغيل squeue
. عندما يكون هناك العديد من الوظائف في قائمة الانتظار ، يُنصح بتحديد مستخدم واحد لتقليل التحميل على وحدة تحكم SLURM (انظر Squeue -User). يقوم turm
بتحديث ملف السجل المعروض حاليًا على كل إخطار تعديل ، ويقرأ فقط الخطوط الملحومة حديثًا بعد القراءة الأولية. ومع ذلك ، نظرًا لأن الإخطارات غير المدعومة لا يتم دعمها لأنظمة الملفات عن بُعد ، مثل NFS ، تقوم turm
أيضًا باستطلاع الملف للبايت المُلحق حديثًا كل ثانيتين.