今天在同一个物理机器上,2个erlang虚拟节点,配置相同,都是使用 +A600 选项,但第二个节点就启动不了。报下面的错误:html
Failed to create thread: Resource temporarily unavailable (11)
后来第二个节点删除了这个选项,而后启动成功了。linux
如今还不肯定问题所在。bash
网上参考有:ui
Can't start Riak. Erlang crashes immediately. Memory problem?.net
另外参考一下:Improving Performance线程
具体的缘由是linux用户开启的进程数太多了。具体能够看:unix
su: cannot set user id: 资源暂时不可用code
修改linux下的最大进程数能够参考下面:orm
linux下进程的进程最大数、最大线程数、进程打开的文件数和ulimit命令修改硬件资源限制htm
下面的是一些资料摘录:
1. 全部进程打开的文件描述符数不能超过/proc/sys/fs/file-max 2. 单个进程打开的文件描述符数不能超过user limit中nofile的soft limit 3. nofile的soft limit不能超过其hard limit 4. nofile的hard limit不能超过/proc/sys/fs/nr_open
编辑/etc/security/limits.conf
vi /etc/security/limits.conf,添加以下的行 * soft noproc 11000 * hard noproc 11000 * soft nofile 4100 * hard nofile 4100 说明:* 表明针对全部用户 noproc 是表明最大进程数 nofile 是表明最大文件打开数
设置fs-max
临时性 echo 1000000 > /proc/sys/fs/file-max 永久性:在/etc/sysctl.conf中设置 fs.file-max = 1000000