Czy istnieje ograniczenie liczby procesów, które można zarejestrować na całym świecie? Czy jest to ograniczone tylko pamięcią/maksymalną liczbą atomów?Maksymalna liczba procesów zarejestrowanych globalnie
Ubuntu 12.04 i Erlang R15B01.
Czy istnieje ograniczenie liczby procesów, które można zarejestrować na całym świecie? Czy jest to ograniczone tylko pamięcią/maksymalną liczbą atomów?Maksymalna liczba procesów zarejestrowanych globalnie
Ubuntu 12.04 i Erlang R15B01.
Dobre pytanie! Założę się o liczbę atomów, jeśli weźmiesz pod uwagę poniższe. Efficiency Guide ma przekrój w granicach systemowych:
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.
Również erl manual section opisuje flaga można użyć, aby zmienić liczbę procesów w węźle:
+P Number
Sets the maximum number of concurrent processes for this system. Number must be in the range 16..134217727. Default is 32768.
Ponieważ można zmieniać liczbę współbieżne procesy na węzeł, ale nie można zmienić liczby dozwolonych atomów, a nazwy procesów to atomy, które są kopiowane w replice na węzeł, co powinno być całkowitą dopuszczalną liczbą globalnie zarejestrowanych procesów.
Nadzieja to pomaga :)
EDIT: Faktycznie, okazuje się, można zmienić liczbę dozwolonych atomów :)
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.
Dzięki, więc nie ma limitu czasu. :RE. –