Задать вопрос

Выделил redis 300mb оперативы и когда остальная система запрашивает память, то иногда влазит в память redis и валится. Что делать?

У меня 4гб оперативы из которых для редиса я выдели 300мб, и я бы хотел изолировать редис чтоб другие сервисы его не выжимали.
  • Вопрос задан
  • 695 просмотров
Подписаться 6 Простой 6 комментариев
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия C++ разработчик
    11 месяцев
    Далее
  • Stepik
    Основы работы в консоли Linux, настройка сетевых служб (кластер)
    1 неделя
    Далее
  • Слёрм
    Linux для разработчиков
    2 недели
    Далее
Пригласить эксперта
Ответы на вопрос 1
kotomyava
@kotomyava
Системный администратор
Redis error: OOM command not allowed when used memory > 'maxmemory'

У вас происходит не то, что вы, вероятно, думаете.

У вас просто кончается выделенная redis память, т.е. вы упираетесь в maxmemory 300000000.
Надо или разобраться, что туда в таком количестве пишется(или почему не удаляется).
Или изменить стратегию удаления данных из него, например, удалять не только что expire, как по умолчанию, а всё что угодно, что давно не использовалось(maxmemory-policy allkeys-lru, !данные будут пропадать!)
Или выделять больше памяти.
Или не использовать его как базу данных, т.к. он не для того нужен... =)

Также, в определённых случаях, redis может использовать до 2х раз больше памяти, чем в него записано данных, если идёт большое количество операций записи.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Principal Recruitment Москва
от 200 000 до 250 000 ₽
Principal Recruitment Москва
от 200 000 до 350 000 ₽
IT ATLAS Москва
от 200 000 до 250 000 ₽