Приложения Java, такие как JIRA и Confluence, запускаются на виртуальной машине Java (JVM), а не непосредственно в операционной системе. При запуске виртуальной машине Java выделяется определенный объем памяти, который она предоставляет для приложений, таких как JIRA. По умолчанию виртуальным машинам Java выделяется 64 МБ памяти, независимо от того, сколько гигабайт памяти может иметь ваш сервер. Объем выделяемой памяти в 64 МБ не достаточен для средних и крупных установок JIRA, в связи с чем иногда объем памяти необходимо увеличить. Симптомом такого решения является наблюдение за появлением количества ошибок OutOfMemoryErrors в журнале их учета.
На этой странице описано, как увеличить объем памяти Heap Space. Убедитесь что вы не получаете ошибки Perm Gen или GC Overhead.
Шаг 1: Диагностика
Оценка корневой причины
Определение шаблонов использования JIRA
Чтобы определить шаблоны использования JIRA:
Выберите > «Система» (System). Выберите «Поиск и устранение неисправностей и поддержка» (Troubleshooting and Support)> «Информация о системе», чтобы открыть страницу «Информация о системе» (System Info). Затем прокрутите страницу вниз, чтобы просмотреть раздел «Статистика памяти виртуальной машины Java» ( Java VM Memory Statistics), и посмотрите график памяти во время максимального использования:
На этом сервере было выделено не более 768 МБ и минимум 256 МБ (обычно это определено в скрипте setenv, который выполняется при запуске сценария start-jira). Если вы пытаетесь выяснить, будут ли ваши настройки выбраны JIRA, вам на это стоит посмотреть. Здесь вы можете видеть, что JIRA зарезервировала 742 МБ, из которых на самом деле используется 190 МБ. Если этот экземпляр JIRA исчерпал память, он зарезервировал максимально доступный (768 МБ) и будет использовать сумму, близкую к этому.
Определение доступной системной памяти
В Windows
В диалоговом окне «Закрыть программы» (Close Programs) (нажмите ctrl-alt-delete), выберите вкладку «Производительность» (Performance):
Количество, отмеченное «Доступно» (Available), - это сумма в килобайтах, которую вы можете бесплатно разместить в JIRA. На этом сервере мы должны выделить не более 214 МБ.
В Linux
Запустите cat / proc / meminfo, чтобы просмотреть использование памяти.
Установка -Xmx выше доступной суммы на сервере приводит к риску OutOfMemoryErrors из-за нехватки физической памяти. Если это произойдет, система будет использовать пространство подкачки, что значительно снижает производительность.
Руководство
Как правило, если у вас меньше 5000 задач, JIRA должна хорошо работать с 768 МБ по умолчанию. Предоставление JIRA слишком большой памяти может негативно повлиять на производительность, поэтому лучше всего начать с 768 МБ и при необходимости внести скромный прирост. В качестве другой точки зрения при заданных 40 000 задачах JIRA хорошо работают в пределе от 768 МБ до 1 ГБ.
Шаг 2: Увеличьте доступную память
Linux
Чтобы увеличить память пространства кучи в установках Linux:
- Откройте каталог <JIRA Installation Directory> / bin (или <Каталог установки Tomcat> / bin для установок JIRA WAR), откройте файл setenv.sh.
- Найдите разделы JVM_MINIMUM_MEMORY = и JVM_MAXIMUM_MEMORY =
- См. раздел "Диагностика" выше и введите соответствующие значения.
Windows (начиная с файла .bat)
Настройка свойств системы в установках Windows при запуске из файла .bat:
- Откройте каталог <JIRA Installation Directory> / bin (или <Каталог установки Tomcat> / bin для установок JIRA WAR), откройте файл setenv.bat.
- Найдите раздел JVM_MINIMUM_MEMORY = и установите JVM_MAXIMUM_MEMORY =
- См. выше раздел «Диагностика» и введите соответствующие значения.
Служба Windows
Существует два способа настройки свойств системы при запуске JIRA в качестве службы либо через командную строку, либо в реестре Windows.
Настройка свойств для служб Windows с помощью командной строки
Настройка свойств для служб Windows с помощью командной строки:
- Определите имя службы, в которой установлена JIRA, как в Windows:Панель управления (Control Panel)> Администрирование> (Administrative Tools) > Службы (Services):
В приведенном выше примере SERVICENAME: JIRA120312230938
- Откройте командное окно в меню «Пуск»> (Start) «Выполнить» ( Run)> введите «cmd»> нажмите «Ввод» (Enter)
- cd в подкаталог bin вашего каталога установки JIRA (или подкаталог bin вашего каталога установки Tomcat, если вы используете дистрибутив JIRA WAR).
Например:
cd C:\Program Files\Atlassian\JIRA\bin
- Для JIRA 5.1 или ниже:
tomcat6w // ES //% SERVICENAME%
Для JIRA 5.2 или выше:
tomcat7w // ES //% SERVICENAME%
В приведенном выше примере это будет tomcat6w // ES // JIRA120312230938
- Перейдите на вкладку Java, чтобы просмотреть список текущих параметров запуска:
- Установите максимальное выделение памяти здесь.
Настройка свойств для служб Windows через реестр Windows
В некоторых версиях Windows нет опции добавлять переменные Java в службу.
В этих случаях вы должны добавить свойства, просмотрев список опций в реестре.
Чтобы установить свойства для служб Windows через реестр Windows,
- Перейдите в меню «Пуск» (Start)> «Выполнить» (Run) и запустите «regedit32.exe».
- Найдите запись «Службы» (Services):
32-bit: HKEY_LOCAL_MACHINE > SOFTWARE > Apache Software Foundation > Procrun 2.0 > JIRA
64-bit: HKEY_LOCAL_MACHINE > SOFTWARE > Wow6432Node > Apache Software Foundation > Procrun 2.0 > JIRA
- Чтобы изменить существующие свойства, особенно увеличивая память Xmx, дважды щелкните соответствующее значение.
- Чтобы изменить дополнительные свойства, дважды щелкните опции.
- Измените выделение памяти здесь.
Шаг 3: Проверьте настройки
Чтобы проверить, какие настройки установлены, проверьте каталог <JIRA Home Directory> /logs/atlassian-jira.log или catalina.out file. Раздел в старте выглядит следующим образом:
JVM Input Arguments : -Djava.util.logging.config.file=/usr/local/jira/conf/logging.properties -XX:MaxPermSize=256m -Xms256m -Xmx384m -Djava.awt.headless=true -Datlassian.standalone=JIRA -Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true -Dmail.mime.decodeparameters=true -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/local/jira/endorsed -Dcatalina.base=/usr/local/jira -Dcatalina.home=/usr/local/jira -Djava.io.tmpdir=/usr/local/jira/temp
Ищите настройки Xmx (максимум) и Xms (минимум).
Этот дисплей также доступен, через просмотр информации о вашей системе.
По материалам Atlassian JIRA Administrator's Guide: Increasing JIRA Memory