Подтвердить что ты не робот

Ошибка jmeter с ошибкой вне памяти

При попытке запустить jMeter с 50 или более пользователями он выдает OutOfMemoryError:

2013/12/18 13:35:15 ERROR - jmeter.threads.JMeterThread: Error processing Assertion  java.lang.OutOfMemoryError: Java heap space
2013/12/18 13:35:15 ERROR - jmeter.threads.JMeterThread: Error processing Assertion     java.lang.OutOfMemoryError: Java heap space
2013/12/18 13:35:15 ERROR - jmeter.threads.JMeterThread: Error processing Assertion  java.lang.OutOfMemoryError: Java heap space
2013/12/18 13:35:15 ERROR - jmeter.threads.JMeterThread: Error processing Assertion  java.lang.OutOfMemoryError: Java heap space
2013/12/18 13:35:16 ERROR - jmeter.threads.JMeterThread: Test failed! java.lang.OutOfMemoryError: Java heap space
2013/12/18 13:35:17 ERROR - jmeter.threads.JMeterThread: Test failed! 

Я попытался увеличить размер кучи, но все равно получаю ту же ошибку.
Даже я попытался удалить всех слушателей, но ничего не изменилось.

4b9b3361

Ответ 1

Похоже, у вас просто отсутствует Java Heap Space. Это нормально, так как JMeter по умолчанию имеет очень низкое распределение кучи. Он управляется с помощью параметра -Xmx.

В jmeter.bat или jmeter.sh script есть строка, в которой рекомендуется запустить JMeter как

JVM_ARGS="-Xms512m -Xmx512m" jmeter.sh

Вы можете попробовать увеличить максимальную кучу, пока не прекратите получать эти ошибки. Я бы рекомендовал установить его примерно на 80% вашей аппаратной ОЗУ.

Также рассмотрите статью JMeter Performance and Tuning Tips, чтобы отключить прослушиватели, потребляющие память, не накладывать надписи, эффективно использовать постпроцессоры и т.д.

Ответ 2

После увеличения размер кучи в файле bat удалит весь прослушиватель из плана тестирования. Затем запустите ваш script и увидите волшебство. Теперь вы не получите ошибка из памяти в jmeter Наслаждайтесь!

Ответ 3

в Jmeter 3.x. для решения этой проблемы есть два шага.

Шаг 1, чтобы изменить память JVM в пакетном файле JMeter

##   ==============================================
##   Environment variables:
##   JVM_ARGS - optional java args, e.g. -Dprop=val
##
##   e.g.
##   JVM_ARGS="-Xms512m -Xmx512m" jmeter etc.
##
##   ==============================================

это значение по умолчанию в jmeter.sh, в соответствии с вашей средой:

JVM_ARGS="-Xms512m -Xmx2048m"

в jmeter.bat:

set JVM_ARGS=-Xms512m -Xmx2048m

Шаг 2, чтобы изменить HEAP = "- Xms512m -Xmx512m" в пакетном файле JMeter:

в jmeter.sh

HEAP="-Xms512m -Xmx2048m"

в jmeter.bat:

set HEAP=-Xms512m -Xmx2048m

Ответ 4

также вы всегда должны использовать запуск тестового не-gui-режима.

Ответ 5

Откройте bin/jmeter.bat на окнах или bin/jmeter.sh на linux, найдите эту строку:

set HEAP=-Xms512m -Xmx512m

Эта переменная передается как аргумент jmeter при запуске. Увеличьте значение heapsize по умолчанию следующим образом:

set HEAP=-Xms1024m -Xmx1024m

Вы можете добавить больше места, если у вас есть доступ, и если jmeter нужно больше. Надеюсь, что это поможет.

Ответ 6

Существует много причин, по которым JMeter потребляет много памяти:

  • Использование и злоупотребление Слушатели пользовательского интерфейса,
  • Запуск теста в режиме пользовательского интерфейса: вместо этого выполните тест в пакетном режиме
  • JMeter SaveService плохо настроен: вы сохраняете запросы и ответы в JTL?
  • Слишком много потоков на генератор нагрузки JMeter? Обычно менее 1000 на двигатель должно быть в порядке, но это также зависит от сложности script. См. Удаленное тестирование для запуска JMeter в Распределенный режим.

Тонкая настройка кучи - это всего лишь один из способов устранения этих проблем:

JVM_ARGS="-Xms512m -Xmx512m" jmeter.sh

Отъезд JMeter Out Of Memory: 12 способов исправить их для еще более ценных советов.

Ответ 7

Мой один лайнер для этого на Mac (jmeter - скрипт bash в этом случае):

$ JVM_ARGS = "-Xms4g -Xmx4g -XX: NewSize = 4g -XX: MaxNewSize = 4g" && export JVM_ARGS && jmeter