Оптимизация использования оперативной памяти для Zimbra
По информации сайта wiki.zimbra.com после новой установки ZCS пытается выделить 30% системной памяти для Java heap (параметр mailboxd_java_heap_size для ZCS7 и выше, или mailboxd_java_heap_memory_percent для ZCS6 и ранее), и 25% памяти для innodb buffer pool. Пожалуйста, убедитесь, что данные значение не слишком высоки для вашей системы.
При объёме системной памяти:
- меньше 8GB, установите размер Java heap в 20%, и для mysql innodb buffer pool 20%
- 8GB, установите размер Java heap в 30%, а для mysql innodb buffer pool 25%
- 16GB, установите размер Java heap в 25%, а для mysql innodb buffer pool 30%
- 32GB, установите размер Java heap в 20%, а для mysql innodb buffer pool 35%
Параметр mailboxd_java_heap_memory_percent: (устарел с версии ZCS 7.0)
Значение по-умолчанию 30,% т.е. если у вас 8GB оперативной памяти, вы выделяете 2.4GB. Не рекомендуется увеличивать данное значение. Однако, есть много ситуаций когда его стоит уменьшить:
- мало оперативной памяти (меньше 8GB)
- если на вашем сервере кроме сервиса почтовых ящиков есть и другие (MTA/LDAP)
- если на сервере очень много памяти: например если 32GB, то 30% это 9.3GB, уменьшите до 20%. Не рекомендуется выделять больше 6.4GB, Если все-таки решили, будьте предельно осторожны.
Установить параметр можно командой:
$ zmlocalconfig -e mailboxd_java_heap_memory_percent=25
Параметр mailboxd_java_heap_size: (начиная с версии ZCS 7.0)
Сколько мегабайт выделить для максимального размера Java heap (-Xms и -Xmx). При апгрейде с предыдущих версий значение вычисляется в соответствии с параметром mailboxd_java_heap_memory_percent. В случае новой установки:
- 25% если меньше, чем 16GB оперативной памяти
- 20% если больше, чем 16GB оперативной памяти
- Для 32-битных систем у которых больше 2GB RAM, максимальное значение 1.5GB
Установить параметр можно командой:
$ zmlocalconfig -e mailboxd_java_heap_size=4096
Параметр innodb_buffer_pool_size для MariaDB/MySQL
ZCS хранит метаданные о содержании почтовых ящиков в СУБД MariaDB/MySQL. MariaDB используется в ZCS 8.5 и более поздних, и MySQL в версиях младше 8.5. Данные хранятся в формате InnoDB.
Конфигурация MariaDB/MySQL сервера почтовых ящиков хранится в /opt/zimbra/conf/my.cnf, который не переписываться сервером (zmmtactl reload), но не сохраняется при обновлении. Настройте следующий параметр (в секции [mysqld]) в соответствии с рекомендациями выше:
[mysqld]
innodb_buffer_pool_size = 3435973840