Как уменьшить использование виртуальной памяти cassandra?

Есть ли настройки в cassandra, чтобы уменьшить использование памяти? Я понимаю, что cassandra хорошо управляет памятью, но для целей тестирования я не хочу тратить 6Gb-память только тогда, когда служба cassandra работает на моих окнах mchine.

ОБНОВЛЕНО

У меня усталость disk_access_mode: standart вместо disk_access_mode: auto. Это не помогло. Также я обращаю внимание, что в файле cassandra 2.0.9 cassandra.yaml по умолчанию не содержится disk_access_mode. Так кажется (но я не уверен), что disk_access_mode был удален из cassandra.

Ответы

Ответ 1

Как указывает @catpaws, ключ находится в документации Настройка ресурсов Java и cassandra-env.sh (на моем Mac я нашел его в /usr/local/etc/cassandra/cassandra-env.sh) но она не отвечает на вопрос.

Итак, вот что я сделал и что случилось: Я посмотрел на монитор активности и заметил, что использование памяти java (cassandra) составляет ~ 4 ГБ. Затем я прочитал документы и обнаружил, что ~ 4 ГБ примерно соответствует выделенной куче, используя формулу

max(min(1/2 ram, 1024MB), min(1/4 ram, 8GB)

Затем я отредактировал cassandra-env.sh, где написано "Переопределите их, чтобы установить сумму...", и установите

MAX_HEAP_SIZE="2GB"

сформировать оригинал 4GB. Я также установил

HEAP_NEWSIZE =

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

Я перезапустил cassandra и проверил монитор активности. Он сказал, что использование памяти Java (Cassandra) теперь было всего ~ 2 ГБ.

Ответ 3

После некоторых проб и ошибок мы обнаружили, что disk_access_mode: mmap_index_only обеспечивает наилучшие результаты. Также помогает держаться подальше от радарного убийцы Linux OOM