Skip to end of metadata
Go to start of metadata
Icon

Корректировка области памяти PermGen: в ранних версиях Архива область памяти PermGen по умолчанию задавалась размером 192MB. С тех пор кодовая база Архива увеличилась в размерах, и область PermGen должна как минимум содержать 192MB, а лучше выделить под нее сразу 256MB.  

Архива требуется три разных типов памяти: 

  1. Область памяти PermGen. Эта память используется для действующего программного кода. Обычно под эту область выделяется 192MB вне зависимости от количества физической оперативной памяти, имеющейся на компьютере. При установке системы, вам будет предложен именно этот объем.
  2. Область памяти Heap или "куча". Эта память используется для распределения объектов внутри исполнительной среды Java (англ. Java runtime environment).
  3. Виртуальная память. Эта память используется в качестве непосредственного буфера. В целях лучшей производительности, она находится за пределами исполнительной среды Java (JRE) и представляет всю оставшуюся оперативную память на вашем компьютере.

Примечание: ОЗУ - оперативное запоминающее устройство, часто такое сокращение используется для обозначения оперативной памяти компьютера.  

ОЗУ = PermGen (программный код) + Куча + Виртуальная память (Прямой буфер) + Операционная система

 

Icon

OC Минимум: Следуйте требованиям по количеству оперативной памяти вашей операционной системы. К примеру, для Windows 8 (32 bit) требуется 1 GB оперативной памяти. Для Windows 8 (64 bit) - 2 GB.

Так как Архива использует виртуальную память за пределами JRE, необходимо как минимум 1/2 всей физически доступной оперативной памяти оставить свободной. Эта память потребуется для нормального функционирования операционной системы.    

 

Icon

Обновление: при обновлении Архива с более ранних версий (2.х), необходимо поменять распределение памяти на сервере. Новые версии библиотек поискового движка Lucene поменяли порядок распределения памяти. Раньше место под них выделялось в "куче". Но в целях лучшей производительности, теперь они используют память напрямую (виртуальную память, вне JVM). И тем самым это делает ненужными наши предыдущие рекомендации.

Рекомендованные настройки памяти

Linux

8 GIG ОЗУ - типичный SME сервер

Из расчёта, что на сервере доступно 8 GB оперативной памяти и вы хотите использовать все доступные ресурсы, распределите память следующим образом: 

Область Java Heap ("куча"): 3072MB
Perm Gen (стек): 192MB
Виртуальная память: 4416MB
Операционная система: 512MB (headless-Linux c минимумом настроек)

1.5 GIG абсолютный минимум ОЗУ - маленький бизнес-сервер

Если ожидается, что Архива будет доступен весьма небольшой объем памяти и нужно сохранить как можно больше памяти свободной, используйте следующий порядок распределения:

Область Java Heap ("куча"): 384MB
Perm Gen (стек): 192MB
Виртуальная память: 448MB
Операционная система: 512MB (headless-Linux c минимумом настроек)

Windows

8 GIG ОЗУ - типичный SME сервер

Из расчёта, что на сервере доступно 8 GB оперативной памяти и вы хотите использовать все доступные ресурсы, распределите память следующим образом: 

Область Java Heap ("куча"): 3008MB
Perm Gen (стек): 192MB
Виртуальная память: 2848MB
Операционная система: 2048MB

3 GIG абсолютный минимум ОЗУ - маленький бизнес-сервер

Если ожидается, что Архива будет доступен весьма небольшой объем памяти и нужно сохранить как можно больше памяти свободной, используйте следующий порядок распределения:

Область Java Heap ("куча"): 684MB
Perm Gen (стек): 192MB
Виртуальная память: 684MB
Операционная система: 1512MB

Icon

Симптомы нехватки памяти. Признаки нехватки памяти или неверно установленных настроек памяти: загрузка процессора может доходить до 120%, поиск осуществляться очень медленно, сервер может внезапно перезагружаться, архивирование может замедлиться, сервер может выдавать странные ошибки. 

Icon

Увеличение памяти. Чем больше данных в архиве и связанных с ними индексов, тем больше будут востребованы память "кучи" и виртуальная память. Поиск замедлится, если не будет достаточно виртуальной памяти, чтобы обработать индексы большой поисковой машины. Более того, сервер может работать нестабильно, если будет не хватать памяти "кучи" (области heap) для загрузки растущего числа документов, хранящихся в томах. При всем этом система прекрасно оценивает нужное ей количество памяти. Но нужно отметить, если ваш сервер нормально работает, а спустя 5 лет вдруг перестает это делать, то часто простое увеличение оперативной памяти может значительно облегчить ситуацию.  

Как изменить настройки памяти

Проверить всю доступную оперативную память - Архива всегда будет использовать максимальный объем оперативной памяти, заданный вами. 

Изменить размер кучи - Увеличить область heap ("кучу"), доступную для Архива. 

Изменить размер области PermGen - Увеличить область perm gen (стек), доступную для Архива

Icon

Проблемы с памятью: Если вы столкнулись с проблемой нехватки памяти у Архива или же Архива использует слишком много оперативной памяти, то прочитайте раздел Проблемы с памятью.

 

Icon

PST импорт: Из-за особенностей операций PST импорта, если вам требуется импортировать очень большой PST файл (больше 2GB), вашему серверу, вероятно, потребуется для этого больше памяти. 

Проверка всей доступной оперативной памяти

Прежде чем выделить больше памяти, пожалуйста, проверьте весь физический объем доступной оперативной памяти (RAM).

1) Windows 7:

   a) Нажмите кнопку "Пуск" (Start)

   b) В поле поиска напечатайте 'ram' без кавычек. 

   c) Кликните "Отображение размера ОЗУ на компьютере"

2) Linux

   a) В терминате напечатайте команду "top". 

Меняем размер кучи (область Heap)

Icon

Замечание: если под кучу (область heap) выделено недостаточно памяти, серверу может не хватить памяти во время работы и архивирование может полностью остановиться. 

Icon

Замечание: ошибочно распределять всю физически доступную оперативную память в кучу (область heap). Как было объяснено ранее, Архива также требуется виртуальная память. Руководствуйтесь следующим: по меньшей мере 1/2 всей оперативной памяти на компьютере должна оставаться свободной для нормального функционирования операционной системы и потребностей Архива в виртуальной памяти.

  1. Linux. 
    Выполните в терминале: 
    a) Запустите скрипт configure (настроек), как показано ниже:

    б) Перезагрузите сервер Архива

  2. Windows
    a) Кликните правой кнопкой по апплету Панели задач, кликните Настройка.
    б) Выберите вкладку (иконку) Java. 
    в) Увеличьте максимальный объем доступной памяти. 
    г) Перезапустите сервис Архива (это требуется, чтобы изменения вступили в силу!)
Icon

Замечание: примите во внимание следующие ограничения на размер "кучи" для Архива, запущенной на 32-битной платформе:     

  • Linux 32-bit: максимальный допустимый размер кучи ~1960 MB
  • Windows 32-bit: максимальный допустимый размер кучи ~1512 MB

Более подробную информацию можно найти здесь: http://java.sun.com/docs/hotspot/HotSpotFAQ.html#gc_heap_32bit.

После выделения большего количества памяти, не беспокойтесь, если процесс Архива будет использовать весь объем выделенной памяти. Это нормальное поведение для Java-приложений. Более подробную информацию о распределении памяти в Java-приложениях вы можете найти в разделе Нехватка оперативной памяти

 

Icon

Для 64 Bit ОС настоятельно рекомендуется: чтобы использовать всю физически доступную оперативную память, необходимо установить 64-битную операционную систему - Windows Server 64-bit или Ubuntu Server 64-bit. 

Icon

Свободная память. Совет: При выделение большего объема памяти для Архива, вы как минимум должны оставить достаточно свободной памяти, чтобы ваша операционная система работала эффективно.  

 

 

Icon

Архива v2.8.0 и более ранние версии: Когда архивный сервер обновляется с одной версии на другую, настройки размеров "кучи" (области heap) могут вернуться к первоначальным размерам. Пожалуйста, проверьте после каждого обновления, что настройки объема памяти кучи (области heap), используемой Архива, установлены верно.

Icon

32bit / 64bit JVM: Начиная с версии v1.9.5, для Windows и Linux содержат обе 32bit и 64bit JVM. Система автоматически определит подходящую JVM по архитектуре вашей операционной системы.

 

Меняем размер области PermGen

 

Если серверу недосаточно памяти в области perm gen (пространство стека), следующие ошибки должны появиться в файле лога отладки debug.log:

Решение - добавить больше памяти в область PermGen.

Для Windows:

a) Правой кнопкой кликните по апплету Панели задач, кликните Настроить.

б) Выберите вкладку Java. 

в) В вкладке Java Options поменяйте значение на:  -XX:MaxPermSize=192m 

г) Перезагрузите сервис Архива (это нужно для того, чтобы изменения вступили в силу!). 

 

Для Linux

а) Отредактируйте файл /opt/archiva/server/startserver с помощью текстового редактора. 

б) Измените строку о максимально разрешенном размере области, чтобы она представляла собой следующее:  -XX:MaxPermSize=192m

в) Перезагрузите сервис Архива (это нужно для того, чтобы изменения вступили в силу!). 

 

.

  • No labels