Вы можете столкнуться со следующими проблемами, связанными с оперативной памятью :
Если Архива будет не хватать оперативной памяти, это может привести к непредсказуемым последствиям. К примеру, сервер может перестать архивировать письма или виртуальная машина Java (JVM), на которой запущена Архива, перестанет работать.
Если у вас больше 500 рабочих почтовых ящиков, чрезвычайно важно использовать больше минимально разрешенного объема оперативной памяти. По меньшей мере 1512GB RAM должно быть доступно на сервере, обслуживающем 500 и больше почтовых ящиков, или 1024GB в области памяти Heap этого сервера. |
Если вы заметили, что сервер ведет себя непредсказуемо, проверьте файл debug.log на предмет ошибок, вызванных нехваткой оперативной памяти. Обычно, если ошибка связана с нехваткой памяти, её причины будут выведены в файле лога отладки debug.log.
Подобная ошибка может быть вызвана одной из следующих трёх причин:
Не достаточно виртуальной памяти (java.lang.OutOfMemoryError: MappedByteBuffer).
Обычно это указывает на то, что слишком много памяти в области heap выделено под процесс MailArchiva. Архива не может выделить достаточное количество виртуальной памяти (памяти, выделенной за пределами виртуальной среды).
Виртуальная память: Уменьшите область памяти Heap.
Виртуальная память - это память, выделенная за пределами среды JVM. Уменьшите долю области памяти Heap, чтобы она занимала от 1/3 до 1/2 всей доступной физической памяти (ОЗУ) на вашем компьютере. Так же, на некоторых компьютерах с ОС Linux, вам потребуется запустить команду "ulimit -v unlimited" в терминале, чтобы убедиться, что Архива может выделить достаточно виртуальной памяти для операций индексации.
Вируальная машина Java обычно использует максимум доступной оперативной памяти (определенной с помощью параментра -xMx при запуске JVM). Но это не означает, что Архива испольщует это количество памяти. Обычно Архива использует куда меньше (<90MB для одной операции). Это лишь означает, что сборщик мусора JVM (англ. garbage collector) не забирает свободную память по причинам, связанным с производительностью.
Сборка мусора из памяти требует ресурсов. При обычных настройках JVM удерживает освободившуюся память, пока это требуется, для того, чтобы обеспечить эффективность активного процесса. Из Просмотрщика процессов (англ. Process Viewer) может выглядеть так, как будто Архива потребляет большой объем памяти. Это выглядит так, потому что в скрипте startserver параметр -xMx задан так, что JVM имеет возможность использовать большой объем памяти.
Чтобы сократить количество памяти, потребляемое MailArchiva, уменьшите максимальное количество памяти, заданное, как это описывается в Настройках памяти.