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