your usage test memoria meet increase error aumentar memory heap jmeter out-of-memory heap-memory

test - jmeter memory usage



JMeter OutOfMemoryError (10)

Me enfrento a los errores de OutOfMemor, y JMeter deja de funcionar ...

java.lang.OutOfMemoryError: Java heap space Dumping heap to java_pid4412.hprof ... Heap dump file created [591747609 bytes in 71.244 secs] Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space

¿Cómo se puede resolver?
Mi sistema tiene muy buenas especificaciones, como 16 GB de RAM, 2x procesadores Quad Core, con 146 GB de disco duro.

¿Alguien puede ayudarme?


¿Cuánta memoria ha asignado para la JVM? En algún lugar aroung 512 MB?

La configuracion es

java -Xms<initial heap size> -Xmx<maximum heap size>


Ajuste el tamaño del montón como se menciona en las otras respuestas y también tenga en cuenta algunas de las mejores prácticas

  • Al ejecutar una prueba (no al validar, por supuesto) use el modo no gui
  • Desactive cualquier escucha importante como Ver el árbol de resultados, pero en su lugar use un Escritor de datos simple y analice sus datos posteriormente

Estos 2 elementos ya aumentarán considerablemente su rendimiento y el uso del tamaño del montón


Aunque su servidor tiene 16 GB de RAM, el tamaño de pila predeterminado de JMeter es de 512 MB, aumente el tamaño de la pila siguiendo los pasos a continuación

1. Open jmeter file using vi editor /text editor 2. Search for "HEAP" 3. Change minimum (-Xms) and Maximum (-Xmx) heap values as you required 4. Save and quit (!wq enter) 5. Start Jmeter by sh jmeter.sh or bash jmeter.bat or java -jar ApacheJMeter.jar


Debe comprobar si no está utilizando un detector de resultados de árbol durante las pruebas con muchos usuarios.

Consulte las mejores prácticas de jmeter para evitar este tipo de problemas.

Saludos


Ejecute Jmeter en modo no GUI. Aumente el tamaño de pila de la memoria. Añadir muy menos / no escuchas. Para ejecutar Jmeter en modo no GUI, vaya al directorio bin y abra el símbolo del sistema en esa ventana. use el siguiente comando "jmeter.bat -n -t Test.jmx -l Test.csv" aquí Test.jmx es el archivo de prueba que necesito abrir en modo no GUI y Test.csv es el archivo en el que necesito mi Resultados almacenados. Para aumentar el tamaño de la memoria, use el comando HEAP = "- Xms512m -Xmx2048m" aquí 512 es la memoria ya asignada y 2048 es la memoria que debo asignar a Jmeter.

Espero que esto ayude


En la versión 3.x de Jmeter se menciona en $ JMETER_HOME / bin / jemter.sh (jmeter.bat):

## Variables de entorno:
## JVM_ARGS - argumentos Java opcionales, por ejemplo, -Dprop = val
## p.ej
## JVM_ARGS = "- Xms512m -Xmx512m" jmeter.sh etc.

por lo tanto, en su caso, puede configurarlo tanto como sea suficiente para sus necesidades, por ejemplo:

JVM_ARGS="-Xms1024m -Xmx1024m"


Para optimizar OutOfMemoryError deben seguir estos pasos:

  • Aumente el tamaño del montón de Java:

JMeter es una herramienta de Java que se ejecuta con JVM . Para obtener la capacidad máxima, debemos proporcionar los recursos máximos a JMeter durante la ejecución. Primero, debemos aumentar el tamaño del jmeter.bat/sh dinámico (dentro del directorio bin de JMeter, obtenemos jmeter.bat/sh ).

HEAP=-Xms512m –Xmx512m

Significa que el tamaño de pila asignado predeterminado es mínimo de 512 MB, máximo de 512 MB. Configúralo según la configuración de tu propia máquina . También debe tenerse en cuenta que el sistema operativo también necesita cierta cantidad de memoria, por lo que no se debe asignar toda la RAM física.

  • Ejecutar pruebas en modo no GUI:

JMeter es una aplicación Java GUI . También tiene la edición sin GUI, que consume muchos recursos (CPU / RAM). Si ejecutamos Jmeter en modo no GUI, consumirá menos recursos y podremos ejecutar más subprocesos.

  • Desactive TODOS los escuchas durante la ejecución de prueba. Son solo para depurar y usarlos para diseñar el script deseado.

Los oyentes deben ser desactivados durante las pruebas de carga. Habilitarlos provoca gastos generales adicionales, que consumen recursos valiosos que son necesarios para los elementos más importantes de su prueba.

  • Utilice un software actualizado:

Java y JMeter deben mantenerse actualizados.

  • Decida qué métricas necesita almacenar:

¡Cuando se trata de almacenar solicitudes y encabezados de respuesta, los resultados de las afirmaciones y los datos de respuesta pueden consumir mucha memoria! Por lo tanto, es prudente tratar de no almacenar estos valores en JMeter a menos que sea absolutamente necesario.

  • Tweak JVM:

Los siguientes argumentos de JVM en los scripts de inicio de JMeter también se pueden agregar o modificar:

1. Añadir tasa de asignación de memoria:

NEW=-XX:NewSize=128m -XX:MaxNewSize=512m

Esto significa que la memoria se incrementará a este ritmo.

2. -server : esto cambia JVM al modo "servidor" con la optimización de los parámetros de tiempo de ejecución. En este modo, JMeter se inicia más lentamente, pero el rendimiento general será mayor.

3. -d64 : mientras se usa un sistema operativo de 64 bits, el uso de este parámetro puede indicar explícitamente a JVM que se ejecute en modo de 64 bits.

4. -XX:+UseConcMarkSweepGC - esto fuerza el uso del recolector de basura CMS. Reducirá el rendimiento general, pero conduce a recolecciones de basura mucho más intensivas de CPU.

5. -XX:+DisableExplicitGC : esto evita que las aplicaciones -XX:+DisableExplicitGC costosas recolecciones de basura y ayuda a evitar pausas inesperadas.

Para una comprensión mejor y más elaborada, este blog sobre 9 Soluciones fáciles para una prueba de carga JMeter El error de "memoria insuficiente" es útil.


Su volcado Heap muestra que está utilizando la configuración predeterminada de JMeter de 512 Mo. así que incluso si tiene 16 gb, no los está usando.

Reemplace la JVM predeterminada opcional en jmeter.bat al tamaño correcto:

set HEAP=-server -Xms768m -Xmx768m -Xss128k set NEW=-XX:NewSize=1024m -XX:MaxNewSize=1024m

Mira también:


También tuve este problema y no importó cuánto java -Xms<initial heap size> -Xmx<maximum heap size> la configuración java -Xms<initial heap size> -Xmx<maximum heap size> , ya que siempre me java -Xms<initial heap size> -Xmx<maximum heap size> sin memoria. Al final, descubrí que ejecutar JMeter en modo GUI (especialmente con oyentes) provoca un cuello de botella. La mejor manera de usar JMeter, especialmente para pruebas extendidas o la ejecución de múltiples servidores esclavos, es en modo no GUI, que se parece a esto:

jmeter -n -t testplan.jmx -r

Echa un vistazo a este enlace y lee cómo hacer las pruebas remotas de la manera correcta: http://wiki.apache.org/jmeter/JMeterFAQ#How_to_do_remote_testing_the_.27proper_way.27.3F . Lea la sección sobre pruebas remotas de la ''manera correcta''.

Espero que esto ayude.


Tienes que cambiar el tamaño de HEAP en el archivo jmeter.bat. Primero debe convertir el tamaño de 2GB o 6GB (O el tamaño que desea poner) en mb y luego guardarlo y reiniciar el archivo .bat.

Establecer valor para "establecer HEAP = - Xms512m -Xmx512m "