erlang 中有没有办法准确获取 SSL 连接需要多少内存?
现在我有点猜测通过将内存中的整个 beam.smp 大小(减去初始化大小)除以连接的客户端数量......
我正在使用 R15B01
SSL 连接由 gen_server 处理,执行
process_info(spawn(Fun), memory).
在 gc 调用后给我:
{memory,2108}
这显然不包含 SSL 套接字连接大小。
问题是即使处理单个 SSL 连接,Erlang 也会启动几个单独的进程(证书数据库、ssl 管理器、ssl 会话等),并且每个进程都可能有一个单独的数据存储。因此,很难给出一个明确的答案,每个连接需要多少内存,因为有很多地方保存有关连接的簿记信息。
如果您需要估算,我会执行以下操作:
TotalMemory1 = proplists:get_value(total, memory()).
在服务器会话中。TotalMemory2 = proplists:get_value(total, memory()).
(TotalMemory2 - TotalMemory1)/99
。