【问题标题】:How to find from where a job is submitted in SLURM?如何在 SLURM 中查找从何处提交作业?
【发布时间】:2014-07-05 13:00:25
【问题描述】:

我通过 SLURM 向我们学校的 HPC 集群提交了几份工作。因为 shell 脚本都具有相同的名称,所以作业名称看起来完全一样。好像

[myUserName@rclogin06 ~]$ sacct -u myUserName
       JobID    JobName  Partition    Account  AllocCPUS      State ExitCode 
------------ ---------- ---------- ---------- ---------- ---------- -------- 
12577766         run.sh    general ourQueue_+          4    RUNNING      0:0 
12659777         run.sh    general ourQueue_+          8    RUNNING      0:0 
12675983         run.sh    general ourQueue_+         16    RUNNING      0:0 

如何知道作业是从哪个目录提交的,以便区分作业?

【问题讨论】:

    标签: linux hpc slurm


    【解决方案1】:

    您可以使用scontrol 命令查看作业详细信息。 $ scontrol show job <jobid>

    例如,对于我们的 SLURM 集群上正在运行的作业:

    $ scontrol show job 1665191
        JobId=1665191 Name=tasktest
        ...
        Shared=OK Contiguous=0 Licenses=(null) Network=(null)
        Command=/lustre/work/.../slurm_test/task.submit
        WorkDir=/lustre/work/.../slurm_test
    

    您正在寻找最后一行,WorkDir

    【讨论】:

    • 如果需要输出日志文件,可以scontrol show job <JOBID> | grep StdOut
    【解决方案2】:

    最新版本的 Slurm 现在通过 squeue 提供该信息:

    squeue --format "%Z"
    

    根据手册页显示,

    %Z    The job’s working directory.
    

    【讨论】:

      【解决方案3】:

      为了列出过去无法通过squeuescontrol访问的工作的工作目录,您可以使用sacct

      sacct -S 2020-08-10 -u myUserName --format "jobid,jobname%20,workdir%70"
      

      列出自 2020 年 8 月 10 日以来用户 myUserName 的所有作业的作业 ID、作业名称和工作目录。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-08-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-24
        • 2020-06-17
        • 1970-01-01
        • 2014-11-30
        相关资源
        最近更新 更多