Я хотел бы знать, насколько я могу увеличить размер кучи в jmeter.bat и в Java для моей 64-битной ОС Windows 8, 16 ГБ ОЗУ, чтобы избежать превышения лимита накладных расходов GC.
Кроме того, может ли heapsize в jmeter.bat и java быть одинаковым?
Я хотел бы знать, насколько я могу увеличить размер кучи в jmeter.bat и в Java для моей 64-битной ОС Windows 8, 16 ГБ ОЗУ, чтобы избежать превышения лимита накладных расходов GC.
Кроме того, может ли heapsize в jmeter.bat и java быть одинаковым?
Согласно главе Избыточное время сборки мусора и ошибка OutOfMemoryError документа Java SE 6 HotSpot[tm] Настройка сборки мусора для виртуальной машины
Параллельный сборщик выдаст ошибку OutOfMemoryError, если на сборку мусора тратится слишком много времени: если на сборку мусора уходит более 98% общего времени и восстанавливается менее 2% кучи, будет выдана ошибка OutOfMemoryError. Эта функция предназначена для предотвращения работы приложений в течение длительного периода времени с небольшим прогрессом или без него из-за слишком малого размера кучи. При необходимости эту функцию можно отключить, добавив в командную строку параметр -XX:-UseGCOverheadLimit.
Политика такая же, как и в параллельном сборщике, за исключением того, что время, затраченное на выполнение одновременных сборов, не засчитывается в лимит времени 98%. Другими словами, только сборы, выполненные, когда приложение остановлено, учитываются как чрезмерное время сборки мусора. Такие коллекции обычно возникают из-за сбоя параллельного режима или явного запроса на сбор (например, вызова System.gc()).
Обычно это указывает на какие-то проблемы с вашим Java-приложением, в вашем случае - с тестом JMeter.
Прежде всего, убедитесь, что вы следуете рекомендациям из 9 простых решений для сбоя нагрузочного теста JMeter «Недостаточно памяти» руководство, чтобы получить максимальную отдачу от вашего экземпляра JMeter
Попробуйте переключиться на параллельный сборщик мусора с маркировкой очистки а>. Чтобы использовать его, добавьте следующую строку в ARGS в сценарии запуска JMeter:
-XX:+UseConcMarkSweepGC
Если это не помогает, и вы полностью уверены, что ваш сценарий JMeter и параметры JVM в порядке, вы можете отключить это поведение с помощью вышеупомянутой настройки -XX:-UseGCOverheadLimit
.