2012-05-13 16 views

risposta

11

Buona domanda! Scommetterei sul numero di atomi, se si tiene conto di quanto segue. Il Efficiency Guide ha una sezione sui limiti del sistema:

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. 

Inoltre, il erl manual section descrive la bandiera è possibile utilizzare per modificare il numero di processi in nodo:

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

Dal momento che è possibile modificare il numero di processi concomitanti per nodo, ma non è possibile modificare il numero di atomi consentiti ei nomi di processo sono atomi che vengono copiati in replica per nodo, che dovrebbe essere il numero totale consentito di processi registrati a livello globale.

Speranza che aiuta :)

EDIT: In realtà, si rivela è possibile cambiare il numero di atomi consentiti :)

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

Grazie, quindi non c'è alcun limite di allora. : D. –

Problemi correlati