我有一个处理作业,使用MPI进行并行化,但是(在这种情况下)运行在单个主机中。每次运行作业时,它都会“消耗”许多cgroup的“ pids”。具体来说,每次我运行这项工作
/sys/fs/cgroup/pids/user.slice/user-1000.slice/pids.current
增加(不足为奇),但是当作业完成时,它返回的值大于开始时的值。 pids.current
的增加等于启动的MPI进程数。我的工作启动了大约30个MPI流程,我必须运行数百次,因此pids.current
迅速增加到大于pids.max
的数量,并且无法为特定用户创建其他流程。作为解决方法,我一直在增加pids.max
,但这是一个非常差的解决方案。
我使用mpirun
启动该作业,而Debian默认使用cgroup设置。
我已经通过一个无关的“ mpi-helloworld”程序演示了相同的问题
https://github.com/wesleykendall/mpitutorial
所以我有信心这不是我的软件。我的硬件相同,运行的Linux内核/发行版是由其他人设置的,不是显示此问题。另一台计算机(不同的硬件,相同的Linux内核)也没有显示此问题。
在网上遇到同样问题的人都找不到参考。
我正在跑步:
Debian GNU / Linux 9
Linux 4.9.0-8-amd64#1 SMP Debian 4.9.110-3 + deb9u5(2018-09-30)x86_64 GNU / Linux
英特尔(R)至强(R)CPU E5-2630 v4 @ 2.20GHz
libopenmpi-dev 2.0.2-2
libopenmpi2:amd64 2.0.2-2
openmpi-bin 2.0.2-2
openmpi-common 2.0.2-2
谁能建议出什么问题或在哪里看?