簡體   English   中英

Erlang:{error,timeout}在同一台機器上啟動第14個從站時

[英]Erlang: {error,timeout} when starting the 14th slave on the same machine

啟動從站時遇到以下行為:

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 processes限制,每個從屬節點似乎在我的測試中使用3個操作系統進程。 如果您對用戶進程的限制較低或已經啟動太多,則可能會導致類似您的錯誤。

您沒有指定您嘗試使用的操作系統,但我認為它與Unix相似。

要查看當前限制設置類型

ulimit -a

在殼。

列出所有流程可能也很有趣。 由於您的Erlang報告了64個Smp-Cores,因此它需要啟動64個調度程序線程。 我在我的操作系統上看不到這一點,但也許你可能會開始對線程進行限制。 如果每個從屬設備也啟動64個線程,那么你就會有很多線程運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM