我在CentOS 7上锁定的页面中的可用内存数量有问题。在使用slurm分配节点后,当我使用MPI(mvapich)启动作业时,我会遇到以下错误:
Fatal error in MPI_Init:
Other MPI error, error stack:
MPIR_Init_thread(514).......:
MPID_Init(359)..............: channel initialization failed
MPIDI_CH3_Init(401).........:
MPIDI_CH3I_RDMA_init(221)...:
rdma_setup_startup_ring(410): cannot create cq
这似乎是由于缺少锁定内存。然而,由于ulimit -a
返回:,它似乎被设置为无限制
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 254957
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 4096
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
当使用sudo启动mpirun
时,它正在工作。
问题来自slurm,它没有检索到最大锁定内存的正确值。salloc -N ulimit -l
返回64,而不是无限制。
解决方案是在/etc/init.d/slurm中添加以下行
ulimit -l unlimited
然后停止并重新开始诋毁:
sudo /etc/init.d/slurm stop
sudo /etc/init.d/slurm start