Как уменьшить использование виртуальной памяти 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 ГБ.
Ответ 2
Настройки среды управления conf/cassandra-env.sh для Cassandra. См. Комментарии в файле и документах: http://www.datastax.com/documentation/cassandra/2.1/cassandra/operations/ops_tune_jvm_c.html
Ответ 3
После некоторых проб и ошибок мы обнаружили, что disk_access_mode: mmap_index_only
обеспечивает наилучшие результаты. Также помогает держаться подальше от радарного убийцы Linux OOM