在Slurm中展开列以查看完整的作业名称

62

在SLURM中的sacct命令中,是否有可能扩展JobName列使用的字符数?

例如,目前我的显示如下:

       JobID    JobName    Elapsed      NCPUS   NTasks      State 
------------ ---------- ---------- ---------- -------- ---------- 
12345      lengthy_na+   00:00:01         4         1      FAILED 

我希望:

       JobID    JobName    Elapsed      NCPUS   NTasks      State 
------------ ---------- ---------- ---------- -------- ---------- 
12345      lengthy_name   00:00:01         4         1      FAILED 
2个回答

70

你应该使用格式选项,包括:

sacct --helpformat

您将看到显示参数,例如:

sacct --format="JobID,JobName%30"

将打印工作ID和名称,最多30个字符:

       JobID                        JobName
------------ ------------------------------
19009                                  bash
19010                             launch.sh
19010.0                     hydra_pmi_proxy
19010.1                     hydra_pmi_proxy

现在,您可以自定义自己的输出。


8
我们是否真的需要每次想要查看正在运行的作业列表及其完整名称时都要输入这个非常长的字符串?更不用说运行时间和其他详细信息,例如内存使用情况,需要更长的命令。 - Parsa
2
@par: 是的,因为默认格式是有限制的。但是,你可以定义一个变量(在这种情况下是 SACCT_FORMAT)来覆盖默认行为。 - Sethos II
之后,我如何使用它们的ID获取与每个单独工作相关的完整信息?@Bub Espinja - alper
1
你可以随时使用 "sacct -j <id> --long" 来达到这个目的。 - Bub Espinja
7
@Parsa 我的 ~/.bashrc 文件中有这个代码:alias sl='SLURM_TIME_FORMAT="%d %H:%M:%S" sacct -X --format=JobID,JobName%12,Priority,Submit%12,Start%12,Elapsed,NCPU,CPUTime,ExitCode,State' 请原谅由于 Stack Overflow 的原因导致的奇怪换行。 - Duncan MacIntyre
谢谢 @DuncanMacIntyre - Parsa

53

我使用以下bash命令以默认格式检索正在运行的SLURM作业列表,并显示30个字符的作业名称:

squeue --format="%.18i %.9P %.30j %.8u %.8T %.10M %.9l %.6D %R" --me

如果您想显示更多的工作名称字符,只需更改%.30j的数字即可。


7
提示:我在我的.bashrc文件中添加了以下内容(alias squeue='squeue --format="..."'),以保持清醒。 - MrArsGravis
3
@MrArsGravis: 实际上你不需要给它起别名。只需将格式放入环境变量 SQUEUE_FORMAT 即可。 - s.ouchene

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接