На этой странице можно настроить параметры конфигурации виртуальной машины Java (JVM) для процесса сервера приложений.
Для просмотра этой страницы административной консоли откройте административную консоль и перейдите к окну свойств виртуальной машины Java.
В случае платформы
i5/OS и распределенных платформ выберите Серверы >
Типы серверов > Серверы приложений WebSphere >
имя_сервера. Затем в разделе
Инфраструктура сервера выберите Java и управление
процессами > Определение процесса > Виртуальная машина
Java
В случае платформы z/OS выберите один из следующих путей. | Сервер приложений | Выберите Серверы > Типы серверов > Серверы приложений WebSphere > имя_сервера. Затем в разделе Инфраструктура сервера выберите Java и управление процессами > Определение процесса > Управление > Виртуальная машина Java |
| Администратор развертывания | Выберите Администрирование системы > Администратор развертывания. Затем в разделе Инфраструктура сервера выберите Java и управление процессами > Определение процесса > Управление > Виртуальная машина Java |
| Агент узла | Выберите Администрирование системы > Агент узла > агент_узла. Затем в разделе Инфраструктура сервера выберите Java и управление процессами > Определение процесса > Виртуальная машина Java |
В случае
платформы i5/OS и распределенных платформ выберите один из следующих путей. | Сервер приложений | Выберите Серверы > Типы серверов > Серверы приложений WebSphere > имя_сервера. Затем в разделе Инфраструктура сервера выберите Java и управление процессами > Определение процесса > Виртуальная машина Java |
| Администратор развертывания | Выберите Администрирование системы > Администратор развертывания. Затем в разделе Инфраструктура сервера выберите Java и управление процессами > Определение процесса > Виртуальная машина Java |
| Агент узла | Выберите Администрирование системы > Агент узла > агент_узла. Затем в разделе Инфраструктура сервера выберите Java и управление процессами > Определение процесса > Виртуальная машина Java |
Стандартный путь к классам для виртуальной машины Java.
Если к этому полю необходимо добавить путь к классам, введите каждую запись пути к классам в отдельной строке таблицы. Добавлять двоеточие или точку с запятой в конце записей не нужно.
| Тип данных | Строка |
Загрузочные классы и ресурсы для JVM. Эта опция доступна только для инструкций JVM, поддерживающих загрузочные классы и ресурсы.
Если к этому полю необходимо добавить путь к классам, введите каждую запись пути к классам в отдельной строке таблицы. Добавлять двоеточие или точку с запятой в конце записей не нужно.
Несколько путей разделяются двоеточием (:) или точкой с запятой (;), в зависимости от операционной системы, в которой работает JVM.
Несколько путей разделяются двоеточием (:) или точкой с запятой (;), в зависимости от операционной системы узла.
Подробный отладочный вывод загрузки классов. По умолчанию он выключен.
Если режим подробного отладочного вывода загрузки классов
включен, то отладочный вывод отправляется в один из стандартных протоколов
процесса.
| Тип данных | Булевское значение |
| Значение по умолчанию | false |
Подробный отладочный вывод сбора мусора. По умолчанию он выключен.
Если режим подробного отладочного вывода сбора мусора
включен, то отладочный вывод отправляется в один из стандартных протоколов
процесса.
,
| Тип данных | Булевское значение |
| Значение по умолчанию | false |
Если это поле включено, при каждом запуске сборщика мусора отчет направляется в выходной поток. Этот отчет должен давать представление о том, что происходит со сбором мусора Java.
83,29/3724,32 * 100 = 2,236%
Если доля времени, затрачиваемого на сбор мусора, составляет более 5% и сбор мусора выполняется часто, рекомендуется увеличить размер кучи Java.
Для того чтобы определить, растет ли размер выделенной кучи, посмотрите, не уменьшается ли процентная доля кучи, оставшаяся невыделенной, после каждого цикла сбора мусора. Если доля свободного пространства постоянно уменьшается, то это означает, что размер кучи постепенно растет. Это может сигнализировать об утечке памяти.
На платформе z/OS можно воспользоваться командой консоли MVS
modify display, jvmheap для вывода информации о куче JVM.
Кроме того, можно проверить записи операций сервера и интервала SMF. Размер
кучи JVM также доступен для PMI и может отслеживаться программой Tivoli
Performance Viewer.
Подробный отладочный вывод вызовов собственных методов. По умолчанию он выключен.
| Тип данных | Булевское значение |
| Значение по умолчанию | false |
Начальный размер кучи для JVM (в мегабайтах). Если это поле не заполнено, то применяется значение по умолчанию.
В z/OS значение по умолчанию для управляющего процесса равно
48 Мб, для подчиненного - 128 Мб. Эти значения по умолчанию применимы как для
31-разрядных, так и для 64-разрядных конфигураций.
На платформе i5/OS и на распределенных платформах
начальный размер кучи по умолчанию составляет 50 Мб.
Рекомендации : Эти значения по умолчанию достаточны для
большинства приложений. bprac
Предотвращение неполадок: В i5/OS начальный
размер кучи всегда должен быть меньше максимального. Ни в коем случае не
задавайте начальный размер кучи равным максимальному. gotchaУвеличение этого значения может ускорить запуск. Уменьшается число событий сбора мусора, достигается 10% выигрыш в производительности.
Увеличение размера кучи Java повышает производительность до тех пор, пока куча помещается в физической памяти. Если размер кучи превышает объем физической памяти и включена подкачка, то производительность заметно снижается.
Максимальный размер кучи для JVM (в мегабайтах). Если это поле не заполнено, то применяется значение по умолчанию.
Для z/OS максимальный размер кучи по умолчанию составляет 256
Мб. Это значение по умолчанию применяется и для 31-разрядных, и для
64-разрядных конфигураций.
Увеличение максимального размера кучи может ускорить запуск. При этом уменьшается число событий сбора мусора, и достигается 10% выигрыш в производительности.
Увеличение этого значения повышает производительность до тех пор, пока куча помещается в физической памяти. Если размер кучи превышает объем физической памяти и включена подкачка страниц, то производительность заметно снижается. По этой причине, следует задавать максимальный размер кучи так, чтобы она помещалась целиком в физической памяти.
Для того чтобы избежать подкачки, вы должны указать для этого
свойства значение, соответствующее минимум 256 Мб физической памяти для каждого
процессора и 512 Мб памяти для каждого сервера приложений. Если из-за подкачки
величина использования процессоров низка, то вместо увеличения максимального
размера кучи, если возможно, увеличьте доступную память. Увеличение
максимального размера кучи может привести не к повышению, а к снижению
производительности.
В i5/OS, если свойство равно 0, то
сборщик мусора будет запускаться только при превышении порога сбора мусора. Для
любого другого значения, отличного от 0, сборщик мусора
будет запускаться по достижении указанного максимального размера кучи. Однако
все нити приложений, в отличие от обычного сборщика мусора, при достижении
максимального размера кучи будут ожидать окончания процесса сбора мусора. Это
может приводить к нежелательным паузам. Поэтому максимальный размер кучи должен
задаваться только как средство ограничения непредвиденного роста кучи, чтобы
размер кучи не мог превысить объем доступной памяти. В обычных обстоятельствах
максимальный размер кучи никогда не достигается.
Рекомендации : Эти значения по умолчанию достаточны для
большинства приложений. Включите свойство Подробный вывод сообщений о сборе
мусора, если вы полагаете, что сбор мусора происходит слишком часто. Если
сбор мусора происходит слишком часто, необходимо увеличить максимальный размер
кучи JVM. bprac
Указывает, следует ли применять поддержку профилировщика HProf. Для того чтобы использовать другой инструмент профилирования, укажите его в параметре Аргументы HProf. По умолчанию HProf выключен.
Если свойство Запустить HProf равно true, то необходимо указать аргументы командной строки как значения свойства the Аргументы HProf.
| Тип данных | Булевское значение |
| Значение по умолчанию | false |
Аргументы командной строки для профилирования, передаваемые в виртуальную машину Java, запускающую процесс сервера приложений. Эти аргументы можно указать при включенной поддержке HProf.
Аргументы HProf указываются, только если свойство Запустить HProf равно true.
Включает отладочный режим JVM. По умолчанию он выключен.
Если свойство Режим отладки равно true, то необходимо указать аргументы командной строки как значения свойства Аргументы отладки.
| Тип данных | Булевское значение |
| Значение по умолчанию | false |
Аргументы командной строки для отладки, передаваемые в виртуальную машину Java, запускающую процесс сервера приложений. Эти аргументы можно указать, если свойство Режим отладки равно true.
Если отладка включена на нескольких серверах приложений на одном и том же узле, то убедитесь, что значения аргумента адреса у этих серверов различны. Аргумент адреса определяет порт, применяемый для отладки. Если на двух серверах, для которых включена отладка, настроен один и тот же порт отладки, то серверы могут запуститься неправильно. Например, это возможно в случае, когда на обоих серверах оставлен аргумент адреса по умолчанию address=7777.
Если отладка включена на нескольких серверах приложений, то убедитесь, что значения аргумента адреса у этих серверов различны. Аргумент адреса определяет порт, применяемый для отладки. Если на двух серверах, для которых включена отладка, настроен один и тот же порт отладки, то серверы могут запуститься неправильно. Например, это возможно в случае, когда на обоих серверах оставлен аргумент адреса по умолчанию address=7777.
| Тип данных | Строка |
| Единицы измерения | Аргументы командной строки Java |
Аргументы командной строки, передаваемые в виртуальную машину Java, запускающую процесс сервера приложений.
Предотвращение неполадок: Если аргумент применим только к IBM
Developer Kit, то его нельзя указывать при работе с другой JVM, такой как
Microsoft JDK или HP JDK.gotcha
hotRestartSync:
Аргумент hotRestartSync включает функцию синхронизации оперативного перезапуска службы синхронизации. Эта функция указывает службе синхронизации, что установленная версия работает в среде, где обновления не применяются, когда администратор развертывания не активен. Следовательно, служба не должны выполнять полное сравнение хранилища при перезапуске серверов администратора развертывания или агента узла. Включение этой опции позволяет повысить эффективность первой операции синхронизации после перезапуска администратора развертывания или агента узла, особенно для конфигураций с ячейками, содержащими серверы разных выпусков, с несколькими узлами и несколькими запускаемыми приложениями.
-Xquickstart
Рекомендации : Используйте
-Xquickstart для приложений, где первоначальное
быстродействие важнее средней производительности. В некоторых вариантах тестов
и средств отладки можно ускорить запуск на 15-20%.
bprac
Предотвращение неполадок: Этот аргумент не поддерживается в i5/OS. gotcha
-Xverify:none
Аргумент -Xverify:none позволяет пропустить этап проверки при загрузке классов. Применение -Xverify:none отключает проверку классов Java, что может на 10-15% сократить время запуска. Однако, если указан этот аргумент, то поврежденные или недопустимые данные классов не обнаруживаются. Загрузка поврежденных данных классов может вызвать серьезные неполадки и даже сбой в работе JVM.
Предотвращение неполадок:
Этот аргумент не поддерживается в i5/OS.
-Xnoclassgc
Аргумент -Xnoclassgc выключает сбор мусора классов. При этом незначительно улучшается повторное использование классов и повышается быстродействие. Однако ресурсы, принадлежащие этим классам, будут продолжать использоваться, даже если эти классы не вызываются. Для того чтобы отслеживать сбор мусора, укажите параметр конфигурации verbose:gc. Полученный вывод позволяет определить, какое влияние на производительность оказывает освобождение этих ресурсов. Если в сборе мусора постоянно участвуют одни и те же классы, то сбор мусора следует выключить. По умолчанию сбор мусора классов включен.
Предотвращение неполадок: Этот аргумент не
поддерживается в i5/OS. Для выключения сбора мусора классов на этой платформе
используйте опцию -noclassgc. gotcha
-Xgcthreads
Аргумент -Xgcthreads включает сбор мусора несколькими нитями одновременно. Этот режим называется параллельным сбором мусора. Этот аргумент применяется только для IBM Developer Kit.
При вводе этого значения в поле Общие аргументы JVM укажите число процессоров системы. Например, если в компьютере 3 процессора, укажите -Xgcthreads 3. На узле с n процессорами число нитей по умолчанию равно n.
Рекомендации : Включите параллельный сбор мусора, если система
многопроцессорная. bprac
Предотвращение неполадок: Этот аргумент не поддерживается в i5/OS. gotcha
-Xnocompactgc
Аргумент -Xnocompactgc выключает уплотнение кучи. Уплотнение кучи - это наиболее ресурсоемкая операция сбора мусора. В случае применения IBM Developer Kit уплотнения кучи следует избегать. При выключении уплотнения снимается вся дополнительная нагрузка.
Предотвращение неполадок: Этот аргумент не
поддерживается в i5/OS. gotcha
-Xgpolicy
Аргумент -Xgpolicy задает стратегию сбора мусора. Этот аргумент применяется только для IBM Developer Kit.
Аргумент optavgpause включает параллельную маркировку нитей приложения, начинающихся из стека, вплоть до заполнения кучи. Тем самым паузы на сбор мусора становятся более равномерными, и длинные паузы не появляются. Это достигается ценой снижения производительности, потому что нити выполняют дополнительную работу.
Задайте этот аргумент равным optthruput, если вы хотите оптимизировать производительность, а длинные паузы на сбор мусора не представляют проблемы. Это применяемое по умолчанию, рекомендуемое значение.
Предотвращение неполадок: Этот аргумент не
поддерживается в i5/OS. gotcha
-XX
Java Platform, Standard Edition 6 (Java SE 6) поддерживает сбор мусора с учетом возраста, при котором объекты с разным временем жизни содержатся в разных пулах памяти. Сбор мусора выполняется для таких объектов независимо с учетом возраста. Дополнительные параметры позволяют настроить размеры этих пулов памяти. Для повышения производительности укажите размер пула для короткоживущих объектов, чтобы они не оставались в пуле дольше одного цикла сбора мусора. Задать размер пула нового поколения можно с помощью параметров NewSize и MaxNewSize.
-XX:NewSize=нижняя_граница -XX:MaxNewSize=верхняя_граница -XX:SurvivorRatio=новое_соотношение
Рекомендации : Значения по умолчанию этих аргументов следующие: NewSize=2m
MaxNewSize=32m SurvivorRatio=2. Однако для JVM с размером кучи более 1 Гб
укажите следующие значения: -XX:newSize=640m -XX:MaxNewSize=640m
-XX:SurvivorRatio=16, или выделите 50-60% общего размера кучи пулу
объектов нового поколения.
bprac
Предотвращение неполадок: Этот аргумент не поддерживается в i5/OS. gotcha
-Xminf
Аргумент -Xminf задает минимальный свободный объем кучи в процентах. Если в куче остается меньше памяти, чем указано, она будет расширяться. В режиме с разрешенным сбросом кучи этот аргумент задает минимальный объем свободной памяти в промежуточной и временной кучах. Он задается как вещественное число от 0 до 1. Значение по умолчанию - 0,3 (30%).
Предотвращение неполадок: Этот аргумент не поддерживается в i5/OS. gotcha
-server | -client
Технология Java HotSpot в Java SE 6 поддерживает адаптивные алгоритмы управления JVM для оптимизации выполнения байтового кода во времени. JVM может работать в двух режимах, -server и -client. В большинстве случаев рекомендуется включать режим -server, обеспечивающий более эффективное выполнение на длительных промежутках времени.
Режим по умолчанию - это -client, с меньшим временем запуска и меньшим расходом памяти. Однако этот режим снижает производительность долгих процессов. Используйте режим -server, при котором производительность выше, кроме случая, когда время запуска сервера важнее, чем производительность. Разницу между режимами -client и -server можно проанализировать, просмотрев размер процесса и время запуска сервера.
Предотвращение неполадок: Этот аргумент не
поддерживается в i5/OS. gotchaЭтот аргумент применим только в z/OS. Аргумент -Dcom.ibm.CORBA.RequestTimeout=тайм-аут задает тайм-аут ответа на запросы от клиента. Этот аргумент указывается с ключом -D. Значение тайм-аут задается в секундах. Если сеть работает очень медленно, укажите большие значения тайм-аутов. Для коротких тайм-аутов сервер приложений может не дождаться ответа в среде с распределенной нагрузкой.
Задавать этот аргумент следует только в том случае, если в приложении возникают неполадки из-за тайм-аутов. У этого аргумента нет рекомендуемых значений.
Этот аргумент применим только в z/OS. Аргумент -Dcom.ibm.websphere.wlm.unusable.interval=интервал используется в случаях, когда состояние управления нагрузкой клиента обновляется слишком редко или слишком часто. Это свойство задает время, в течение которого среда выполнения клиента управления нагрузкой считает сервер недоступным и не пытается обратиться к серверу еще раз. Этот аргумент указывается с ключом -D. Значение по умолчанию составляет 300 секунд. Если это свойство задано большим, сервер будет считаться недоступным в течение долгого времени. В течение всего этого времени протокол обновления управления нагрузкой не сможет обновить состояние клиента.
-Dcom.ibm.ws.buffermgmt.impl.WsByteBufferPoolManagerImpl=
Этот аргумент применим только в z/OS. Аргумент -Dcom.ibm.ws.buffermgmt.impl.WsByteBufferPoolManagerImpl= позволяет указать, что память для отдельных прямых буферов байтов должна освобождаться сразу, как только буфер становится ненужным. Для этого аргумента поддерживается единственное значение com.ibm.ws.buffermgmt.impl.ZOSWsByteBufferPoolManagerImpl.
-Dcom.ibm.ws.buffermgmt.impl.WsByteBufferPoolManagerImpl=com.ibm.ws.buffermgmt.impl.ZOSWsByteBufferPoolManagerImpl
Этот аргумент также должен быть задан на платформе z/OS при
применении пользовательского свойства
zaioFreeInitialBuffers для канала TCP, для указания на
то, что канал должен освобождать начальные буферы считывания, используемые для
новых соединений, как только эти буферы становятся не нужными соединению.
-Xshareclasses:none
Аргумент -Xshareclasses:none позволяет выключить работу с общими классам в процессе. Опция общих классов, которая доступна, начиная с Java SE 6, позволяет создавать кэш общих классов. Кэш общих классов позволяет ускорить запуск и снизить расход памяти. Его можно использовать для серверов приложений, агентов узлов и администраторов развертывания.
Если эта опция включена, очищайте кэш, когда он не используется. Для очистки кэша вызывайте программу каталог-сервера-приложений/bin/clearClassCache.bat/sh или остановите процесс и снова его запустите.
Предотвращение неполадок:
В настоящее время IBM JVM для J2SE 5 не
поддерживается в Solaris, HP и i5/OS. | Тип данных | Строка |
| Единицы измерения | Аргументы командной строки Java |
Полное имя и путь к исполняемому файлу JAR, с которым работает виртуальная машина Java.
| Тип данных | Строка |
| Единицы измерения | Путь |
Выключает компилятор JIT в коде JVM.
При выключении компилятора JIT заметно вырастает производительность. Поэтому для повышения производительности выключайте JIT.
| Тип данных | Булевское значение |
| Значение по умолчанию | false (JIT включен) |
| Рекомендуется | JIT включен |
Параметры JVM в данной операционной системе.
При запуске процесса параметры JVM для сервера используются как параметры JVM для операционной системы.
При запуске процесса параметры JVM для узла используются как параметры JVM для операционной системы.
Подробный отладочный вывод сбора мусора. По умолчанию он выключен.
Если режим подробного отладочного вывода сбора мусора
включен, то отладочный вывод отправляется в один из стандартных протоколов
процесса.
,
| Тип данных | Булевское значение |
| Значение по умолчанию | false |
Если это поле включено, при каждом запуске сборщика мусора отчет направляется в выходной поток. Этот отчет должен давать представление о том, что происходит со сбором мусора Java.
83,29/3724,32 * 100 = 2,236%
Если доля времени, затрачиваемого на сбор мусора, составляет более 5% и сбор мусора выполняется часто, рекомендуется увеличить размер кучи Java.
Для того чтобы определить, растет ли размер выделенной кучи, посмотрите, не уменьшается ли процентная доля кучи, оставшаяся невыделенной, после каждого цикла сбора мусора. Если доля свободного пространства постоянно уменьшается, то это означает, что размер кучи постепенно растет. Это может сигнализировать об утечке памяти.
На платформе z/OS можно воспользоваться командой консоли MVS
modify display, jvmheap для вывода информации о куче JVM.
Кроме того, можно проверить записи операций сервера и интервала SMF. Размер
кучи JVM также доступен для PMI и может отслеживаться программой Tivoli
Performance Viewer.
Ссылки, помеченные как (в сети), требуют подключения к Internet.