bash/slurm 中有没有办法让脚本知道它正在哪个节点上运行?
所以我分批了一个名为wrapCode.sh的bash脚本,并且我正在监视脚本时间以及它正在哪个节点上运行。我知道如何监控脚本时间,但是有没有办法在最后回显我所在的节点?
sstat 做到了这一点,但我需要知道我的工作 ID 是什么,脚本似乎也不知道(或者至少我无法找到它)。
您的作业的 jobid 可以在环境变量 SLURM_JOBID 中找到。该变量由 SLURM 在提交作业后自动设置。
至于查找运行作业的节点的名称,可以在环境变量 SLURMD_NODENAME 中找到。
变量 SLURM_NODELIST 将为您提供分配给作业的节点列表(除非您跨多个节点运行作业,否则它将只包含一个名称)。
有很多变量包含您的作业信息,请参阅https://slurm.schedmd.com/sbatch.html#lbAH
在作业输出中写入运行的节点的一种简单但有效且经常使用的方法是添加
srun hostname
Run Code Online (Sandbox Code Playgroud)
到它。此外,作业 ID 可以通过环境变量 SLURM_JOB_ID 在作业脚本中获得;所以你可以使用
sstat -j $SLURM_JOB_ID
Run Code Online (Sandbox Code Playgroud)
在您的 slurm 脚本中获取您想要的信息。
| 归档时间: |
|
| 查看次数: |
15233 次 |
| 最近记录: |