Redis занимает слишком много памяти

Я установил контрольный кластер Redis (версия 4.0.6) на двух виртуальных машинах centos 6. И на главном, и на подчиненном сервере Redis для maxmemory установлено значение 10 ГБ, а maxmemory_policy - как volatile-lru.

Проблема в том, что оба сервера занимают много памяти.

Мастер:

# Memory
used_memory:9939524616
used_memory_human:9.26G
used_memory_rss:11554213888
used_memory_rss_human:10.76G
used_memory_peak:10001440960
used_memory_peak_human:9.31G
used_memory_peak_perc:99.38%
used_memory_overhead:1469809500
used_memory_startup:761776
used_memory_dataset:8469715116
used_memory_dataset_perc:85.22%
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.16
mem_allocator:jemalloc-3.6.0
active_defrag_running:0
lazyfree_pending_objects:0

Подчиненный:

# Memory
used_memory:9930822872
used_memory_human:9.25G
used_memory_rss:12246667264
used_memory_rss_human:11.41G
used_memory_peak:9999999848
used_memory_peak_human:9.31G
used_memory_peak_perc:99.31%
used_memory_overhead:1468959861
used_memory_startup:761792
used_memory_dataset:8461863011
used_memory_dataset_perc:85.21%
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.23
mem_allocator:jemalloc-3.6.0
active_defrag_running:0
lazyfree_pending_objects:0

Я выполнил MEMORY PURGE , который очищает часть rss-памяти, но она заполняется заново в течение нескольких минут и продолжает расти.

У большинства моих данных, хранящихся в Redis, есть срок действия, хотя для некоторых ключей срок действия не установлен. Стоит ли просто увеличить оперативную память виртуальных машин? Я запускаю другие приложения на обеих виртуальных машинах, но они не занимают 100 МБ памяти.

0
задан 27 December 2018 в 19:24
1 ответ

Статистика памяти показывает, что большая часть памяти используется данными, так что в этом нет ничего плохого.

Если фрагментация является проблемой, вы можете попробовать включить активную дефрагментацию. Наконец, я бы посмотрел на обновление сервера Redis до последней версии v4.x, если не 5.x.

0
ответ дан 5 December 2019 в 04:46

Теги

Похожие вопросы