Memory SLURM群集中出错-检测到1个oom终止事件:如何改进正在运行的作业

Memory SLURM群集中出错-检测到1个oom终止事件:如何改进正在运行的作业,memory,cluster-computing,slurm,Memory,Cluster Computing,Slurm,我在SLURM集群中工作,同时(在多个输入文件上)运行多个进程,并使用相同的bash脚本 作业结束时,进程被终止,这是我得到的错误 slurmstepd: error: Detected 1 oom-kill event(s) in step 1090990.batch cgroup. 我的猜测是记忆有问题。但是我怎么能知道更多的呢? 我没有提供足够的内存吗?或者作为用户,我请求的内容比我可以访问的要多 有什么建议吗?这里OOM代表“内存不足”。当Linux内存不足时,它将“杀死”一个进程以保

我在SLURM集群中工作,同时(在多个输入文件上)运行多个进程,并使用相同的bash脚本

作业结束时,进程被终止,这是我得到的错误

slurmstepd: error: Detected 1 oom-kill event(s) in step 1090990.batch cgroup.
我的猜测是记忆有问题。但是我怎么能知道更多的呢? 我没有提供足够的内存吗?或者作为用户,我请求的内容比我可以访问的要多

有什么建议吗?

这里OOM代表“内存不足”。当Linux内存不足时,它将“杀死”一个进程以保持关键进程运行。看起来
slurmstepd
检测到您的进程被终止。甲骨文公司对这一机制有自己的看法


如果请求的内存超过了允许的内存,则进程不会分配给节点,计算也不会启动。看起来您需要请求更多内存。

批准的答案是正确的,但更准确地说,是错误的

slurmstepd: error: Detected 1 oom-kill event(s) in step 1090990.batch cgroup.
表示Linux的CPU RAM内存不足

例如,如果您在GPU上运行某些计算,请求比可用GPU内存更多的GPU内存将导致如下错误(例如PyTorch):

有关更多详细信息,请查看本文中的说明

解决方案: 增加或添加脚本参数
--mem per cpu

1) 如果您正在使用sbatch
sbatch您的_script.sh
运行您的脚本,请将其添加到以下行:

#SBATCH --mem-per-cpu=<value bigger than you've requested before>
#SBATCH --mem-per-cpu=<value bigger than you've requested before>
sran --mem-per-cpu=<value bigger than you've requested before> python3 your_script.py