Slurm Python多处理超过内存限制

时间:2019-03-21 05:51:11

标签: python memory-management memory-leaks multiprocessing slurm

我在python中的多处理代码可以在我的计算机上完美运行。但是,当我使用Slurm时,会出现Exceed job内存错误。我不知道如何解决这个问题。在this link中,@ jaap建议使用cgroups记帐,但我不知道如何实现它。我也没有授权更改它。谁能提出解决方案?在下面,您可以看到我的错误代码:

#!/bin/bash
#SBATCH -p mid1
#SBATCH -A rrrr
#SBATCH -J python_auvergne
#SBATCH -n 1
#SBATCH -c 16
#SBATCH --time=04-00:00:00

#export PATH=$/truba/home/rulug/anaconda3/bin/:$PATH


module load centos7.3/comp/gcc/7

python3 V1.py


exit

1 个答案:

答案 0 :(得分:0)

您没有在提交脚本中指定内存要求,因此您获得了默认值,该值可能会很低。

添加#SBATCH --mem=4GB或更多以请求更多内存。

但是请注意,对于Python多处理作业,您需要指定-c 16而不是-n 16,因为后者可能会在multiprocessing模块的不同节点(服务器)上分配作业无法处理,而前者将确保所有保留的核心都在同一节点上。