erlang - 主管可以监督的最大子进程数是多少?
问题描述
主管进程可以监督的子进程的最大数量是多少?我来自 Elixir,但我想限制(如果有的话)将直接从 Erlang 继承。
解决方案
我不是专家,但在erlang 文档中发现了这一点:
10.2 系统限制
Erlang 语言规范对进程数、原子长度等没有限制,但出于性能和内存节省的原因,Erlang 语言和执行环境的实际实现总会有限制。
流程
默认情况下,同时活动的 Erlang 进程的最大数量为 32768。此限制在启动时最多可以提高到 268435456 个进程(请参阅erl(1) 文档中系统标志 +P的文档)。由于内存不足,至少在 32 位架构上无法达到 268435456 个进程的最大限制。
这没有提及gen_server
,但它为默认 erlang 系统中的并发进程数设置了上限:32768
. 所以也许你的问题的答案很简单32768 - 1
。:) 您可以使用+P 开关来增加该数字。
推荐阅读
- slurm - 多个节点的 SLURM 作业脚本
- c# - 设置 Activity.Typing 动画的时间
- android - 尝试从 firebase 检索数据
- java - Java错误:
预期的公开课 - javascript - 将文件作为 JSON 上传到 Python 网络服务器
- javascript - 用 mySql 结果刷新 div
- c - 如何在 sscanf 中使用 set scanset 读取 0-9 等数字
- java - 迭代缓存时,Ignite 消耗所有内存并因 OutOfMemory 失败
- c# - 如何对所有文件进行 VScode .net 核心调试,而不仅仅是选定的文件
- python - pandas.DataFrame 列中值组合的可能性