Erlang - Можно ли ограничить потребление оперативной памяти при использовании копий дисков в Mnesia?

У меня в системе есть оперативная память 4 ГБ, и она использовала 2 ГБ оперативной памяти до завершения вставки с использованием disc_copies. Интересно, что будет, если съесть 100 процентов барана? Есть ли возможность ограничить объем оперативной памяти, потребляемой во время disc_copies, например, ограничение использования оперативной памяти до 2 ГБ?


person Anto Joy    schedule 22.10.2015    source источник
comment
2 ГБ с метрикой which. Может быть, это просто буферизация?   -  person Lol4t0    schedule 22.10.2015


Ответы (1)


Если вы ищете, как ограничить использование памяти виртуальной машины erlang, вы должны использовать для этого группы управления. Но если вы хотите отслеживать использование памяти, вам следует использовать монитор памяти memsup из _ 2_ приложение.

$ 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 документацию об использовании и сигналах тревоги.

person Hynek -Pichi- Vychodil    schedule 22.10.2015