Во время проведения нагрузочного тестирования в 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