📜  列出我所有的工作 slurm - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:50:13.077000             🧑  作者: Mango

列出我所有的工作 slurm - Shell/Bash

Slurm是一个流行的作业管理系统,在高性能计算中广泛使用。在这个指南中,我们将探索如何使用Slurm的命令来列出你的所有工作。

列出当前用户的所有Slurm作业

要列出您当前用户的所有Slurm作业,请使用squeue命令。

squeue -u $USER

这将返回您当前正在进行中和排队的所有作业,格式如下:

             JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)
           1039764     debug   my-job    userA  R       1:23      1 node01
           1039765     debug   my-job    userB  R       0:15      1 node02
           1039766     debug   my-job    userA  R       0:12      1 node02
           1039865  more_job  my-job2    userB  R       0:30      1 node03

您可以使用以下选项调整输出:

  • -h:隐藏表头。
  • -t:跳过多余的信息。
  • -o:自定义输出的列和顺序。

例如,列表只显示JOBID和NAME:

squeue -t 'all' -u $USER -o "%.8i %.12j"
列出当前用户的运行中的Slurm作业

您可以使用squeue命令来限制您要查看的作业状态。要列出当前用户的所有运行中的Slurm作业,请使用以下命令:

squeue -u $USER -t running

您也可以通过使用以下选项来调整输出:

  • -h:隐藏表头。
  • -t:跳过多余的信息。
  • -o:自定义输出的列和顺序。

例如,这将只输出正在运行的作业的JOBID和NAME:

squeue -t running -u $USER -o "%.8i %.12j"
列出当前用户的未运行的Slurm作业

与前面的例子相似,您可以使用以下命令来列出当前用户的所有未运行的Slurm作业:

squeue -u $USER -t pending

您也可以通过使用以下选项来调整输出:

  • -h:隐藏表头。
  • -t:跳过多余的信息。
  • -o:自定义输出的列和顺序。

例如,这将只输出排队中的作业的JOBID和NAME:

squeue -t pending -u $USER -o "%.8i %.12j"
列出所有Slurm作业

如果您具有管理员权限,可以使用squeue命令列出所有的Slurm作业:

squeue

这将返回所有正在运行和排队的作业,格式如下:

             JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)
           1039764     debug   my-job    userA  R       1:23      1 node01
           1039765     debug   my-job    userB  R       0:15      1 node02
           1039766     debug   my-job    userA  R       0:12      1 node02
           1039865  more_job  my-job2    userB  R       0:30      1 node03

与以前类似,您可以使用以下选项调整输出:

  • -h:隐藏表头。
  • -t:跳过多余的信息。
  • -o:自定义输出的列和顺序。

例如,这将只输出JOBID和NAME:

squeue -t all -o "%.8i %.12j"
结论

在本指南中,我们介绍了如何使用Slurm的命令来列出您的所有工作。通过使用squeue命令和适当的选项,您可以轻松地列出您的所有作业,并快速了解它们的状态和进展情况。