3

我在启动从站时遇到以下行为:

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 程序时也表现出来 - 所以任何帮助将不胜感激。

4

1 回答 1

1

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

您没有指定您正在尝试的操作系统,但我想它与 Unix 类似。

查看您当前的限制设置类型

ulimit -a

在外壳。

此外,列出所有进程可能会很有趣。由于您的 Erlang 报告了 64 个 Smp-Cores,因此它需要启动 64 个调度程序线程。我在我的操作系统上看不到这一点,但您可能启动的线程甚至可能存在限制。如果每个从站也启动 64 个线程,那么你就有很多线程在运行。

于 2013-03-26T16:42:10.083 回答