Я выполняю Redis 2.8.17 на Ubuntu 14.04, и вчера Redis начал съедать всю память, пока это не было уничтожено OOM. Я перезапустил его многократно, перезапустил сервер, сбросил все данные, но всегда тот же результат: когда я запускаю его, потребление памяти повышается каждую секунду, пока это не уничтожается на уровне 3 ГБ или около этого.
Проверьте это короткое видео: http://screencast.com/t/RYqTO7Gradi1
Заметьте, что столбец RES повышается и? Это - недавно запущенный Redis с пустым набором данных.
Одна вещь, которую я сделал, который мог бы иметь некоторое отношение к этому, обновляет Monit на сервере накануне. Это обошлось без помощи проблем, хотя и не должен был влиять на Redis. A apt-get update
был сделан, хотя, поэтому возможно, там некоторая системная библиотека была обновлена, который мог бы вызвать это?
Так или иначе я полностью вне идей, любые подсказки могли бы помочь!
Вот мой redis.conf
вывод INFO
: https://gist.github.com/manuelmeurer/8c660be28534f8332a23
Оказалось, что я не видел деревьев, и один комментарий Майкла Хэмптона поставил меня на правильный путь.
В конце концов, это никак не связано с самим Рэдисом, но одно из моих приложений плохо себя вёл. Оно использует Sidekiq для фоновой обработки, который использует Redis для хранения заданий, сообщений об ошибках, бэктрейсов и т.д. Я начал получать странные ошибки для некоторых своих заданий, но проигнорировал их, так как должен был, ну вы знаете, сначала решить эту проблему с Redis. :)
Похоже на фонового работника, который должен посылать уведомление на Errbit каждый раз, когда в моем приложении возникает исключение, которое генерировало очень длинные бэктреки и все больше и больше заданий...
Я остановил фоновую обработку на время и теперь Redis потребляет нормальный объем оперативной памяти.
.