Erlang - 在 Mnesia 中使用光盘副本时是否可以限制 ram 消耗?

Erlang - Is it possible to limit the ram consumption when using disc copies in Mnesia?

我的系统中有一个 4GB 内存,在使用 disc_copies 完成插入之前它使用了 2GB 内存。我想知道如果 100% 的 ram 被消耗了会发生什么?是否有任何选项可以限制 disc_copies 期间消耗的 ram,例如将 ram 使用限制为 2GB?

如果您正在寻找如何限制 erlang VM 内存使用,您应该使用 control groups for it. But if you like to monitor memory usage you should use memory monitor memsup from os_mon application

$ erl -boot start_sasl
Erlang/OTP 18 [erts-7.0] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]

...    
=PROGRESS REPORT==== 22-Oct-2015::22:39:46 ===
         application: sasl
          started_at: nonode@nohost
Eshell V7.0  (abort with ^G)
1> application:start(os_mon).
...    
=PROGRESS REPORT==== 22-Oct-2015::22:40:03 ===
         application: os_mon
          started_at: nonode@nohost
ok
2> 
...
2> memsup:get_memory_data().
{8162500608,6514708480,{<0.7.0>,426616}}
3> memsup:get_system_memory_data().
[{system_total_memory,8162500608},
 {free_swap,5996748800},
 {total_swap,5997850624},
 {cached_memory,3290759168},
 {buffered_memory,444370944},
 {free_memory,1647222784},
 {total_memory,8162500608}]
4>

阅读 os_mon 有关使用和警报的文档。