Сервер Redis v2.8.4 работает на Ubuntu 14.04 VPS с 8 ГБ ОЗУ и 16 ГБ пространства подкачки (на SSD). тем не мение htop
показывает, что redis
один берет 22.4 G
памяти!
Я не думаю redis
база данных такая большая, почему она занимает так много памяти?
Версия Redis: Redis server v=2.8.4 sha=00000000:0 malloc=jemalloc-3.4.1 bits=64 build=a44a05d76f06a5d9
После перезапуска redis-server
redis-server
в итоге разбился из-за нехватки памяти. Mem
и Swp
оба достигают 100%, тогда redis-server
убивается вместе с другими сервисами.
Из dmesg
:
[165578.047682] Out of memory: Kill process 10155 (redis-server) score 834 or sacrifice child
[165578.047896] Killed process 10155 (redis-server) total-vm:31038376kB, anon-rss:5636092kB, file-rss:0kB
Думаю, нам действительно стоит беспокоиться о том, что использование памяти Redis со временем станет выше! Как мы можем это устранить?
Вы должны проверить свой redis.conf на предмет установки под названием «maxmemory». Если вы не хотите, чтобы Redis использовал более 100 МБ памяти, обязательно установите в своем redis.conf следующее:
maxmemory 104857600
После применения изменений вам нужно будет перезапустить экземпляр Redis.