Я получаю сообщение об ошибке JMeter Out of Memory даже после того, как я уже обновил свою оперативную память с 8G до 16G - PullRequest
0 голосов
/ 16 марта 2020

Может кто-нибудь помочь мне с ошибкой Недостаточно памяти (OOM), с которой я столкнулся при работе JMeter

Я новичок ie в Java и в JMeter, а также в тестировании производительности. Я использовал командную строку, но все еще сталкиваюсь с проблемой Out of Memory . Я пытался настроить размер кучи, но работа не продолжалась каждый раз, когда я меняю его.

Мой текущий размер кучи ниже

    set HEAP=-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m

Я добавил еще одну память: из 8 ГБ , моя память теперь 16 ГБ .
Но когда я запускаю его снова с 1000 потоков , отображается сообщение об ошибке ниже:

Uncaught Exception java.lang.OutOfMemoryError: unable to create new native thread in thread Thread[Thread Group 1-130,5,main]. See the log file for details.
Uncaught Exception java.lang.OutOfMemoryError: unable to create new native thread in thread Thread[Thread Group 1-63,5,main]. See log file for details.
Uncaught Exception java.lang.OutOfMemoryError: unable to create new native thread in thread Thread[Thread Group 1-135,5,main]. See log file for details.
Uncaught Exception java.lang.OutOfMemoryError: unable to create new native thread in thread Thread[Thread Group 1-19,5,main]. See log file for details.
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (malloc) failed to allocate 32756 bytes for ChunkPool::allocate

Иногда Я также сталкиваюсь только с этой ошибкой:

# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (malloc) failed to allocate 32756 bytes for ChunkPool::allocate

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

Заранее благодарю.

Ответы [ 3 ]

1 голос
/ 16 марта 2020

Полученная ошибка указывает на то, что базовая операционная система не может создать новый собственный поток / процесс.

  1. Попробуйте увеличить лимиты для операционной системы, т. Е. Если вы используете Linux, вы можете проверить максимальное количество потоков, используя команду ulimit -n
  2. В любом случае вы можете уменьшить размер стека с помощью -Xss JVM argument

К сожалению, в его текущей форме ваш вопрос не дает достаточно информации для чтобы получить исчерпывающий ответ, если приведенные выше советы не помогут рассмотреть возможность добавления более подробной информации, такой как:

  • Версия и архитектура операционной системы
  • Версия JMeter
  • Java версия и архив
  • Как минимум первые 20 строк файла .HPROF

Также обязательно следуйте рекомендациям 9 Easy Solutions для теста нагрузки JMeter «Недостаточно памяти» Сбой артикул

0 голосов
/ 16 марта 2020

изменить размер кучи в jmeter. sh файл, если вы используете Linux / ubuntu, Jmeter.bat в windows. Увеличьте -Xmx1g = до половины памяти системы , то есть до 4 ГБ (-Xmx4g). также попытайтесь увеличить пользовательскую нагрузку с 500 и проверьте использование ЦП и ОЗУ в диспетчере задач Windows.

0 голосов
/ 16 марта 2020

флаг Xmx указывает максимальный объем памяти для JVM. Вы должны увеличить значение xmx до более подходящего для вас значения.

try:

set HEAP = -Xms1g -Xmx4g -XX: MaxMetaspaceSize = 256m

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...