1个物理机同时搭建2个erlang虚拟节点,不能启用 +A600选项

今天在同一个物理机器上,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

Linux 打开文件数1024限制的原理以及解决办法

解除 Linux 系统的最大进程数和最大文件打开数限制

LINUX最大线程数及最大进程数

下面的是一些资料摘录:

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
相关文章
相关标签/搜索