Во время проведения нагрузочного тестирования в JMeter мы можем столкнуться с ошибкой Out of Memory. Однако эта проблема решаема!
JMeter не хватает памяти, которую JVM выделяет для создания необходимых объектов в процессе нагрузочного тестирования.
Нам необходимо увеличить этот объём, чтобы JVM выделяла больше памяти.
Правим следующие файлы и строки (актуально для JMeter 5.0):
Файл jmeter.bat:
Правим строку:
HEAP=-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m
Xms — минимальный предел выделяемой памяти, Xmx — максимальный предел выделяемой памяти.
HEAP=-Xms4g -Xmx4g -XX:MaxMetaspaceSize=256m
Увеличили с 1 до 4 гигабайт.
Файл jmeter (без расширения). Правим строку:
${HEAP:="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m"}
Пример увеличения до 3 гигабайт:
${HEAP:="-Xms3g -Xmx3g -XX:MaxMetaspaceSize=256m"}
Увеличиваем эти параметры, но выделяем не более 80% от всей оперативной памяти системы, на которой установлен JMeter. Если надо больше, то нам требуется подавать нагрузку с нескольких серверов JMeter.
Также для снижения потребления ресурсов запускаем нагрузку из командной строки, так как оболочка JMeter потребляет много ресурсов. Примеры запуска:
%jmeter%\bin\jmeter -n -t %jmeter%\bin\Test.jmx -l %jmeter%\bin\TestReport.jtl
%jmeter%\bin\jmeter.bat -n -t %jmeter%\bin\Test.jmx -l %jmeter%\bin\TestReport.jtl
%jmeter%\bin\jmeter -n -t %jmeter%\bin\Test.jmx