在
Erlang Effecienty Guide 第9章中提到
1. 进程的数量
缺省情况下同时存在的最大Erlang进程数量不超过2^15=32768个,这个限制可以放宽至2^28=268435456个(具体查阅系统标志+P ),由于内存的限制在32位环境中这个数量不太可能达到。
2. atom最多能有多少个字符
255个
3. 最多能有多少atom(atom的最大数量)
2^20=1048576
4. 分布式节点的数量
分两种情况:
1) 有名字的节点,其多少取决于atom的最大数量;
2)连接节点:系统内能同时连接上的最大节点数取决于能同时连接的所有有名字的节点数和可用的port,或者可用的socket数
5. ets表的数量
缺省情况下最多1400个,可以通过环境变量ERL_MAX_ETS_TABLES进行修改
6. 一个tuple中包含的最大元素数量
2^26=67108863个,由于内存的限制可能很难达
7. 二进制数据的限制
32位机器上binary最大不超过2^29-1个字节
64位机器上binary最大不超过2^61-1个字节
超过会抛出system_limit的异常
8. 节点名不能超过255个字节数
因为节点名是atom
9. 能打开的port数量
缺省情况下能同时打开的Erlang port最大数量是1024个。这个限制可以放宽至最多2^28=268435456个(参见ERL_MAX_PORTS 环境参数),不过在32位环境中由于内存的限制不太可能达到
10. 能打开的文件和socket数量
能同时打开的最大文件和socket数量取决于最大能打开的port数量,以及操作系统的设定和限制
11. 一个命名函数或lambda函数能接受的最大参数
256个