Uso de la memoria

Para depurar fugas de memoria, debe comprender los mecanismos que pueden causar problemas de memoria, cómo la JVM utiliza LE HEAP, cómo la JVM utiliza el almacenamiento virtual z/OS® y las posibles causas de una excepción java.lang.OutOfMemoryError .

Se pueden producir problemas de memoria en el proceso Java™ a través de los mecanismos siguientes:
  • Una fuga de memoria nativa (C/C++) que provoca un mayor uso del LE HEAP (solo vm de 31 bits), que se puede ver como un uso excesivo de la subagrupación 2, la clave 8 o el almacenamiento, y un tamaño del conjunto de trabajo excesivo del espacio de direcciones del proceso
  • Una fuga de objetos Java en el almacenamiento dinámico gestionado por Java. La fuga viene causada por los errores de programación de la aplicación o el middleware. Estas fugas de objetos provocan un incremento en la cantidad de datos que permanecen una vez completado el ciclo de recogida de basura.
  • Tamaño de almacenamiento dinámico de Java incorrecto. Por ejemplo, el tamaño de almacenamiento dinámico puede ser demasiado pequeño para la cantidad de almacenamiento que necesita la aplicación. Sin embargo, un tamaño de almacenamiento dinámico excesivamente grande puede dar como resultado una falta de almacenamiento de área privada MVS™ para otros componentes, como la pila de hebras nativas. Utilice la opción -Xmx para optimizar el tamaño del almacenamiento dinámico de la aplicación y el entorno.
  • Asignación demasiado baja de áreas de almacenamiento. Por ejemplo, si los parámetros REGION, MEMLIMIT o MAXTHREADS se establecen en un valor demasiado bajo, o si las áreas de almacenamiento están en contienda con las áreas de almacenamiento para otros productos, como por ejemplo IBM® CICS®.