我正在使用slurm、OpenMPI和python(带有MKL的anaconda)在多节点集群上运行作业。当我提交这份工作时,一切似乎都如预期的那样。但是,如果我登录到运行作业的某个节点,并使用htop查看正在运行的进程,我会看到我启动的作业,并且对于每一个,我都会看到另外10个"克隆"进程,它们占用与我启动的任务相同的内存,但CPU负载为0(所有更改都是PID和CPU(0%),其他一切都是一样的)。
有人能解释这种行为吗?
谢谢!
p.S。这是我用来提交作业的批脚本:
#!/bin/zsh
#SBATCH --job-name="DSC on Natims"
#SBATCH -n 16
#SBATCH -N 8
#SBATCH --ntasks-per-node=2
#SBATCH --mem-per-cpu=20G
#SBATCH --output="log_dsc%j.out"
#SBATCH --error="log_dsc%j.err"
mpiexec -iface bond0 python dsc_run.py
这些线程是由程序启动的,因此它们是同一进程的一部分。在htop中按大写字母"H"切换进程线程的显示以查看差异。按F2键可查看Setup(设置)菜单中的Display Options(显示选项)。您可以切换以显示其他颜色的线程。