我正在尝试在 3 个不同的主机上构建一个包含大约 120 个进程的雪集群。这些是 AMD 服务器,每个服务器有 48 个内核。在构建了大约前 90 个从站后,我收到了这个错误:
cl = makeSOCKcluster(c(rep("localhost", 44), rep("host2", 46), rep("host3", 45)))
Error in socketConnection(port = port, server = TRUE, blocking = TRUE, :
all connections are in use
> traceback()
3: socketConnection(port = port, server = TRUE, blocking = TRUE,
open = "a+b")
2: newSOCKnode(names[[i]], options = options, rank = i)
1: makeSOCKcluster(c(rep("localhost", 44), rep("host2", 46),
rep("host3", 45)))
我检查了我的系统限制,没有发现任何问题:
# cat /proc/sys/fs/file-max
12897622
# grep "#define __FD_SETSIZE" /usr/include/*.h /usr/include/*/*.h
/usr/include/linux/posix_types.h:#define __FD_SETSIZE 1024
# ulimit -a |grep open
open files (-n) 65536
雪可以创建的进程数量是否有限制?