2012-05-13 21 views

回答

11

好問題!如果考慮以下內容,我敢打賭原子的數量。該Efficiency Guide對系統限制的部分:

Processes 
The maximum number of simultaneously alive Erlang processes is by default 32768. This limit can be raised up to at most 268435456 processes at startup (see documentation of the system flag +P in the erl(1) documentation). The maximum limit of 268435456 processes will at least on a 32-bit architecture be impossible to reach due to memory shortage. 

Distributed nodes 
Known nodes 
A remote node Y has to be known to node X if there exist any pids, ports, references, or funs (Erlang data types) from Y on X, or if X and Y are connected. The maximum number of remote nodes simultaneously/ever known to a node is limited by the maximum number of atoms available for node names. All data concerning remote nodes, except for the node name atom, are garbage-collected. 

此外,erl manual section介紹你可以用它來改變在您的節點的進程數的標誌:

+P Number 
Sets the maximum number of concurrent processes for this system. Number must be in the range 16..134217727. Default is 32768. 

既然你可以改變的數量每個節點的併發進程,但是你不能改變允許的原子數量,而進程名稱是在每個節點副本中複製的原子,這應該是全局註冊進程總數的允許值。

希望它能幫助:)

編輯:其實,原來你可以更改允許原子數:)

Atoms 
By default, the maximum number of atoms is 1048576. This limit can be raised or lowered using the +t option. 

+t size 
Set the maximum number of atoms the VM can handle. Default is 1048576. 
+0

謝謝你,所以再沒有任何限制。 :d。 –