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

时间:2015-10-22 12:43:30

标签: erlang mnesia

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

1 个答案:

答案 0 :(得分:2)

如果您正在查看如何限制erlang VM内存使用量,则应使用control groups。但是,如果您想监控内存使用情况,则应使用memory monitor memsup中的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文档。