我的 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
最佳答案
您没有在提交脚本中指定内存要求,因此您获得默认值,该值可能非常低。
添加 #SBATCH --mem=4GB
或更多以请求更多内存。
但请注意,对于 Python 多处理作业,您需要指定 -c 16
而不是 -n 16
,因为后者可能会在不同的节点(服务器)上分配作业),multiprocessing
模块无法处理,而前者将确保所有保留的核心都在同一节点上。
关于python - slurm python多处理超出内存限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55274469/