首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >erlang:memory() vs memsup:get_system_memory_data()

erlang:memory() vs memsup:get_system_memory_data()
EN

Stack Overflow用户
提问于 2018-01-13 07:25:29
回答 1查看 548关注 0票数 3

对不起,我对erlang文档中的以下描述不太清楚:

erlang:memory() -> {Type,Size} 使用Type:" total“表示:”当前分配的内存总量。这与进程和系统的内存大小之和相同。“ memsup:get_system_memory_data() -> MemDataList MemDataList = {Tag,Size} with Tag:"total_memory“指的是:”Erlang模拟器可用的内存总量、分配的和空闲的。可能等于也可能不等于系统中配置的内存量。“

这里有谁能做得更低些吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-13 10:02:06

erlang:memory/0,1显示Erlang (BEAM)的当前状态。memsup:get_system_memory_data/0显示操作系统的当前状态。

代码语言:javascript
运行
复制
1> erlang:memory(total) / (1 bsl 20).
12.918495178222656
2> memsup:get_system_memory_data().
[]
3> 
=WARNING REPORT==== 13-Jan-2018::10:51:15 ===
OS_MON (memsup) called by <0.61.0>, not started
3> application:ensure_all_started(os_mon).

=PROGRESS REPORT==== 13-Jan-2018::10:51:41 ===
...
=INFO REPORT==== 13-Jan-2018::10:51:41 ===
    alarm_handler: {set,{system_memory_high_watermark,[]}}

4> proplists:get_value(total_memory,memsup:get_system_memory_data()) / (1 bsl 30).
7.691337585449219
5> erlang:memory(total) / (1 bsl 20).
14.661575317382813

这意味着我的光束在启动后使用了12.9MB内存。要获得OS内存,您必须启动os_mon应用程序。我的操作系统有7.69GB的可用,有可能被BEAM使用。在启动了os_mon所需的所有应用程序之后,我的BEAM使用了14.7MB。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48237818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档