Редис Свопинг? - PullRequest
       13

Редис Свопинг?

4 голосов
/ 03 октября 2010

На основе этого снимка экрана: http://www.dropmocks.com/mBvx1 (неработающая ссылка)

нужно ли redis вдвое больше памяти, как мне кажется? Я полагаю, что он порождает другой процесс для сохранения на диск. Означает ли это, что он на самом деле копирует память, и я всегда должен предполагать, что если у меня 16 гигабайт оперативной памяти, то 8 - максимум для одного процесса redis?

Ответы [ 3 ]

10 голосов
/ 03 декабря 2010

Redis может легко занять до 8 ГБ в зависимости от ваших данных. При этом «двойная память», о которой вы говорите, представляет собой красную сельдь: она выполняет разветвление и «копирование» памяти, но из-за технологии копирования при записи память распределяется между процессами и записывается только тогда, когда процессы вносят изменения в определенный байт памяти.

Таким образом, при сохранении на диск только ключи, изменяющиеся во время сохранения, вызовут дополнительное распределение памяти между двумя процессами. Все остальное поделено. Надеюсь, это поможет.

0 голосов
/ 21 августа 2011

Если у redis есть 8 ГБ памяти, он не будет использовать больше, чем этот. Однако во время сохранения fork () выполнит новый процесс «redis» и скопирует все данные - например, Еще 8 гб. Так как он не может вместить это в память, он заменит его на файл подкачки (например, на диск). После сохранения память будет свободна.

Я заметил это на моем сервере, где запущено много процессов sphinx и 2 сервера redis, работающих с 4 ГБ и сохранением, произошли в одно и то же время.

http://redis4you.com/articles.php?id=006&name=Redis+swap+issue+while+save

0 голосов
/ 26 октября 2010

Я не думаю, что Redis должен занимать ~ 8 ГБ.Возможно, вы захотите перейти на 2.X, потому что я думаю, что у вас может быть утечка памяти.

Но, возвращаясь к вашему вопросу, я думаю, что Redis создает новый процесс для сохранения на диск, но Redis хранится вобъем памяти.Сохраняет на диск в случае сбоя питания, приводящего к потере всех данных в ОЗУ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...