У меня в системе есть оперативная память 4 ГБ, и она использовала 2 ГБ оперативной памяти до завершения вставки с использованием disc_copies. Интересно, что будет, если съесть 100 процентов барана? Есть ли возможность ограничить объем оперативной памяти, потребляемой во время disc_copies, например, ограничение использования оперативной памяти до 2 ГБ?
Erlang - Можно ли ограничить потребление оперативной памяти при использовании копий дисков в Mnesia?
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