slurm python多处理超出内存限制

问题描述 投票:0回答:1

我在python中的多处理代码完全适用于我的计算机。但是当我使用slurm时,我得到一个Exceed job内存错误。我无法弄清楚如何解决这个问题。在this link @jaap建议使用cgroups会计,但我不明白如何实现它。我还没有授权改变它。谁有人建议解决方案?下面你可以看到我的slurm代码:

#!/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
python memory-management memory-leaks multiprocessing slurm
1个回答
1
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.