Erlang:{error,timeout}在同一台机器上启动第14个从机时

Erlang:{error,timeout}在同一台机器上启动第14个从机时,erlang,Erlang,启动从属服务器时,我遇到以下行为: aura:/home/xtomast1>$ erl -rsh ssh -sname root_worker Erlang R14B04 (erts-5.8.5) [source] [64-bit] [smp:64:64] [rq:64] [async-threads:0] [kernel-poll:false] Eshell V5.8.5 (abort with ^G) (root_worker@aura)1> slave:start(loca

启动从属服务器时,我遇到以下行为:

aura:/home/xtomast1>$ erl -rsh ssh -sname root_worker
Erlang R14B04 (erts-5.8.5) [source] [64-bit] [smp:64:64] [rq:64] [async-threads:0] [kernel-poll:false]

Eshell V5.8.5  (abort with ^G)
(root_worker@aura)1> slave:start(localhost, 1).
{ok,'1@localhost'}
(root_worker@aura)2> slave:start(localhost, 2).
{ok,'2@localhost'}
(root_worker@aura)3> slave:start(localhost, 3).
{ok,'3@localhost'}
(root_worker@aura)4> slave:start(localhost, 4).
{ok,'4@localhost'}
(root_worker@aura)5> slave:start(localhost, 5).
{ok,'5@localhost'}
(root_worker@aura)6> slave:start(localhost, 6).
{ok,'6@localhost'}
(root_worker@aura)7> slave:start(localhost, 7).
{ok,'7@localhost'}
(root_worker@aura)8> slave:start(localhost, 8).
{ok,'8@localhost'}
(root_worker@aura)9> slave:start(localhost, 9).
{ok,'9@localhost'}
(root_worker@aura)10> slave:start(localhost, 10).
{ok,'10@localhost'}
(root_worker@aura)11> slave:start(localhost, 11).
{ok,'11@localhost'}
(root_worker@aura)12> slave:start(localhost, 12).
{ok,'12@localhost'}
(root_worker@aura)13> slave:start(localhost, 13).
{ok,'13@localhost'}
(root_worker@aura)14> slave:start(localhost, 14).
{error,timeout}
我怀疑这是一个与ssh相关的问题,因此我尝试使用中提供的方法进行故障排除,但显示第14次身份验证尝试与前13次一样成功


现在我不知道下一步该做什么。我对Erlang几乎一无所知,我在上面的一个交互式shell会话中介绍的这个问题,在运行我确实需要工作的某个Erlang程序时也会表现出来,因此非常感谢您提供的任何帮助。

我怀疑它与
max user processs
limit,在我的测试中,每个从节点似乎使用3个操作系统进程。如果您对用户进程的限制较低,或者已经启动了太多进程,则可能会导致类似您的错误

您没有指定要在哪个操作系统上尝试此操作,但我认为它与Unix类似

要查看当前限制设置,请键入

ulimit -a
在贝壳上


此外,列出您的所有流程可能也很有趣。由于您的Erlang报告了64个Smp内核,因此它需要启动64个调度程序线程。我在我的操作系统上看不到这一点,但可能对您可以启动的线程有限制。如果每个从机也启动了64个线程,那么运行程序的用户会受到限制吗?

这会阻止用户创建那么多资源吗?可能会有(这是一个大学服务器),但我不知道有什么限制。我能够运行任务,充分利用40个或更多的CPU核心,并分配100 GB或更多的内存。(或者这不是你想的吗?)如果没有其他建议出现,我会试着问管理员。这是我想做的事情,是的-比如打开文件的数量限制,等等。在该服务器上查看系统日志可能会很有趣。我试着用R15B01(我现有的最古老的Erlang)重现你的问题当前位置我可以启动14个以上的奴隶你的怀疑是正确的。(另外,感谢您列出了确切的命令,我以前不知道。)每个从机都启动了64个线程,它们都计入了
max user processs
限制。