`
cryolite
  • 浏览: 581458 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Erlang的系统限制

阅读更多

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个

 

分享到:
评论

相关推荐

    windows下安装Erlang环境

    **软实时性**:Erlang采用递增式垃圾收集,确保系统能及时响应,但不保证严格的时间限制,适合于那些对响应时间有一定要求但又不是硬实时要求的系统。 **热代码升级**:Erlang允许在运行时升级代码,新旧版本的代码...

    erlang安装帮助包

    阅读此文件是了解Erlang的使用权限和限制的重要步骤,确保你的使用符合其开源许可条款。 "README"文件是安装过程的关键,它通常提供了安装指南和系统要求。在离线安装时,你需要仔细阅读并按照其中的步骤操作。这...

    Erlang安装包

    这种设计使得Erlang系统能够快速恢复并保持服务的连续性。 软实时性是Erlang的另一个重要属性,这意味着它能够在预定的时间内完成任务,尽管不能保证严格的时间限制。这种特性使得Erlang适合那些对响应时间有要求但...

    二郎助手erlang开发工具、erlang编辑器

    6. **完全免费**:对个人和商业用户都免费,无任何使用限制,这使得更多的人能够接触到Erlang开发并提高生产力。 在提供的压缩包文件“ErlangIDE”中,包含了二郎助手的安装程序或者源代码。通过安装这个工具,...

    XP能用的erlang+rabbitMQ版本

    需要注意的是,由于XP的系统限制,可能无法享受到最新版本带来的增强性能和安全特性,因此建议尽可能升级到更现代的操作系统以获取最佳体验。同时,尽管这些版本可以在XP上运行,但随着系统更新和软件迭代,未来可能...

    inside Erlang VM3

    Erlang是一种通用、并发、强容错的编程语言,最初由爱立信公司开发,旨在解决电信系统的高并发、高可靠需求。它运行在Erlang虚拟机(Erlang Virtual Machine, ERTS)之上,ERTS提供了语言的基础执行环境。 #### ...

    centos6下离线安装erlang所需要的所有rpm包

    在Linux系统中,Erlang是一种强大的编程语言和并发平台,尤其在分布式计算、实时系统以及高可用性软件开发领域有着广泛的应用。...通过离线安装,你可以在不受网络限制的情况下享受到Erlang带来的强大功能。

    erlang程序设计中文版

    Erlang是一种面向并发的编程语言,由Joe Armstrong编写,被认为是并行编程和分布式系统设计的经典之作。本书不仅覆盖了Erlang的基础知识,还包括并发编程和分布式编程的深入内容。Erlang的设计为程序员提供了处理...

    erlang 20.3 最新版本下载

    尽管Erlang通常可以在其官方网站上找到,但有时可能因为网络问题或地区限制,下载变得困难。因此,将这个版本上传并分享,旨在方便开发者们获取和使用。 RabbitMQ是一个流行的开源消息代理和队列服务器,它使用...

    Erlang最佳实践

    #### 二、Erlang系统的结构与术语 在Erlang中,系统被划分为多个模块,每个模块包含一系列函数和属性。模块内的函数可以是私有的,仅在该模块内部可见;也可以是公开的,允许其他模块调用。属性以“-”开头,通常...

    erlang_gproc_扩展实现Erlang的全局ets

    Erlang是一种面向并发的、函数式编程语言,被广泛应用于分布式系统和高可用性服务。在Erlang中,ETS(Erlang Term Storage)是内置的一种高效、内存中的数据库,用于存储和检索Erlang术语。然而,ETS的一个限制是它...

    erlang调用java

    1. **设置环境**:在使用`Jinterface`之前,确保你的`Erlang`系统已经配置了对`Java`的支持。这通常意味着在`Erlang`的环境变量中指定了`Java`的路径,并且安装了与`Erlang`版本兼容的`Java` SDK。 2. **启动JVM**...

    Concurrent Programming in ERLANG (P1-90)

    Erlang是一种通用、并发、强类型、垃圾回收的编程语言,特别适用于构建高可用性系统。它最初由爱立信公司开发,用于电信系统的开发,因此非常适合处理大量并发连接和高负载的情况。 #### 重要知识点详述 **1.1 ...

    erlang20.3+rabbitmq server.rar

    标题中的"erlang20.3+rabbitmq server.rar"表明这是一个包含Erlang OTP版本20.3和RabbitMQ服务器的压缩包,专为在Windows操作系统上部署RabbitMQ设计。Erlang是一种并发性极强的编程语言,主要用于构建高可用性和...

    erlang四大behaviour之四-supervisor

    Erlang Supervisor是Erlang四大Behaviour之一,主要负责管理监控树(supervision tree)中的子进程,确保系统的稳定运行。在Erlang并发模型中,通过Supervisor可以实现进程间的容错机制,即当某个进程出现故障时,...

    erlang_面对软件错误构建可靠的分布式系统

    2. **故障隔离与恢复**:Erlang的进程间通信机制使得错误能被限制在单个进程中,不会影响到其他进程。当一个进程出现错误时,它可以被优雅地终止并重启,而整个系统依然保持运行,这种特性称为“let it crash”模型...

    Erlang-B&C曲线MATLAB源码

    Erlang-B和Erlang-C曲线是通信工程和排队理论中的重要概念,它们用于分析电话交换系统和其他服务系统的性能。这两个模型可以帮助我们理解在给定资源限制下,多条电话线路或服务台如何处理呼叫或请求的流量。MATLAB...

    Centos7安装RabbitMQ的文档和安装包(包含erlang安装包).rar

    由于guest用户对所有网络都开放,我们通常会创建新的用户并限制其访问权限。例如,创建一个名为`myuser`的用户: ``` sudo rabbitmqctl add_user myuser mypassword sudo rabbitmqctl set_user_tags myuser ...

    rabbitmq3.3.7 +erlang_21.0.1

    Erlang是一种并发和分布式计算语言,特别适合构建高可用性、容错性强的系统,比如RabbitMQ。 首先,让我们深入理解RabbitMQ的核心概念: 1. **消息队列**:消息队列是RabbitMQ的核心,它存储并转发消息。当生产者...

    xp系统可安装运行的rabbitmq和erlang

    - XP系统可能不支持某些高级特性,如SSL连接、高可用性集群等,因此在设计系统时要考虑这些限制。 - 监控和日志记录是关键,因为老版本的系统可能会遇到更多故障。确保定期检查日志文件以发现任何潜在问题。 总结...

Global site tag (gtag.js) - Google Analytics