Я установил дозорный кластер Redis (версия 4.0.6) в двух центов 6 ВМ. У главного и подчиненного сервера Redis maxmemory установлено значение 10 ГБ, а maxmemory_policy - volatile-lru.
Проблема в том, что оба сервера занимают много памяти.
Мастер
used_memory:8959732536
used_memory_human:8.34G
used_memory_rss:14763728896
used_memory_rss_human:13.75G
used_memory_peak:10002148536
used_memory_peak_human:9.32G
used_memory_peak_perc:89.58%
used_memory_overhead:1344839894
used_memory_startup:761776
used_memory_dataset:7614892642
used_memory_dataset_perc:85.00%
total_system_memory:20957556736
total_system_memory_human:19.52G
used_memory_lua:37888
used_memory_lua_human:37.00K
maxmemory:10000000000
maxmemory_human:9.31G
maxmemory_policy:volatile-lru
mem_fragmentation_ratio:1.65
mem_allocator:jemalloc-3.6.0
active_defrag_running:0
lazyfree_pending_objects:0
Ведомый
used_memory:8927665872
used_memory_human:8.31G
used_memory_rss:16422535168
used_memory_rss_human:15.29G
used_memory_peak:10000009472
used_memory_peak_human:9.31G
used_memory_peak_perc:89.28%
used_memory_overhead:1340505548
used_memory_startup:761792
used_memory_dataset:7587160324
used_memory_dataset_perc:84.99%
total_system_memory:20957556736
total_system_memory_human:19.52G
used_memory_lua:37888
used_memory_lua_human:37.00K
maxmemory:10000000000
maxmemory_human:9.31G
maxmemory_policy:volatile-lru
mem_fragmentation_ratio:1.84
mem_allocator:jemalloc-3.6.0
active_defrag_running:0
lazyfree_pending_objects:0
Redis занимает 14064,8 МБ и 15664,2 МБ на главном и подчиненном соответственно.
У меня есть много данных, хранящихся в Redis. У большинства из них установлен срок действия, а у некоторых нет срока действия.
Проблема даже в том случае, если для максимальной памяти установлено значение 10 ГБ, почему в виртуальной машине redis занимает около 15 ГБ.
Я вижу, что используемая память меньше 10 ГБ, а rss-память 15 ГБ.
Я запустил MEMORY PURGE, которая очищает часть памяти rss, но она заполняется в течение нескольких минут и продолжает расти.
Любое предложение о том, как я могу контролировать потребление памяти или постоянное решение этой проблемы. Стоит ли увеличивать ОЗУ в ВМ? если да, сколько оперативной памяти я должен добавить, чтобы справиться с этой ситуацией.