2012-05-13 13 views

Respuesta

11

¡Buena pregunta! Apuesto a la cantidad de átomos si se tiene en cuenta lo siguiente. El Efficiency Guide tiene una sección sobre los límites 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. 

Además, el erl manual section describe la bandera se puede utilizar para alterar el número de procesos en su nodo:

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

Ya que se puede alterar el número de procesos concurrentes por nodo, pero no se puede alterar el número de átomos permitidos, y los nombres de los procesos son átomos que se copian en la réplica por nodo, que debería ser la cantidad total permitida de procesos registrados globalmente.

espero que ayude :)

EDITAR: En realidad, resulta que se puede cambiar el número de átomos permitidos :)

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

Gracias, por lo que no hay límite a continuación. :RE. –

Cuestiones relacionadas