PowerFlex Manager 3.8: Los errores de pila de Java Falta de memoria conducen a un rendimiento deficiente
Summary: El agotamiento de la memoria del montón de Java conduce a un rendimiento deficiente de la interfaz de usuario de PFxM y fallas aleatorias e inesperadas en varias tareas, como el inventario de recursos, la implementación de un nuevo servicio o la adición de un servicio existente. ...
Symptoms
La IU de PFxM presenta un rendimiento deficiente y puede tardar en iniciar sesión y en abrir diferentes secciones dentro de la IU. Varias tareas, como el inventario de recursos, la implementación de un nuevo servicio o la adición de un servicio existente, pueden fallar inesperadamente.
La variable asmui y asmManager Los registros muestran Out-OfMemory Errores:
2024-06-01 01:17:24 [http-nio-9030-exec-4] (DeviceController.java:626) [ERROR] getDeviceList() - Exception from service call
java.lang.OutOfMemoryError: Java heap space
2024-06-01 01:17:24 [http-nio-9030-exec-4] (BaseController.java:304) [ERROR] Found generic exception in Controller
java.lang.OutOfMemoryError: Java heap space
2024-06-01 01:17:24 [http-nio-9030-exec-9] (DeviceController.java:626) [ERROR] getDeviceList() - Exception from service call
java.lang.OutOfMemoryError: Java heap space
2024-06-01 01:17:24 [http-nio-9030-exec-9] (BaseController.java:304) [ERROR] Found generic exception in Controller
java.lang.OutOfMemoryError: Java heap space
2024-06-01 01:17:26 [http-nio-9030-exec-6] (DeviceController.java:626) [ERROR] getDeviceList() - Exception from service call
java.lang.OutOfMemoryError: Java heap space
2024-06-01 01:17:26 [http-nio-9030-exec-6] (BaseController.java:304) [ERROR] Found generic exception in Controller
java.lang.OutOfMemoryError: Java heap space
...
2024-07-10 00:40:50 [http-nio-9030-exec-11] (RestTemplateResponseErrorHandler.java:47) [ERROR] REST Error: {
"detailMessage" : "Handler dispatch failed; nested exception is java.lang.OutOfMemoryError: Java heap space",
"cause" : {
"cause" : {
"cause" : null,
"stackTrace" : [ ],
"message" : "Java heap space",
"localizedMessage" : "Java heap space",
"suppressed" : [ ]
...
"stackTrace" : [ ],
"suppressedExceptions" : [ ],
"status" : 500,
"timestamp" : "2024-07-10T04:40:50.986+00:00",
"error" : "Internal Server Error",
"path" : "/AsmManager/job/",
"messages" : [ {
"messageBundle" : null,
"messageCode" : null,
"severity" : null,
"category" : null,
"displayMessage" : "Runtime error",
"responseAction" : null,
"detailedMessage" : "Handler dispatch failed; nested exception is java.lang.OutOfMemoryError: Java heap space",
"agentId" : null,
"correlationId" : null,
"timeStamp" : "2024-07-10T04:40:50.987+00:00",
"sequenceNumber" : 0
} ]
}
2024-07-10 00:40:50 [http-nio-9030-exec-11] (JobsController.java:83) [ERROR] getJobs() - Exception from service call
com.dell.asm.rest.common.exception.LocalizedWebApplicationException: HTTP 500 Internal Server Error
at com.dell.pfxm.springboot.helpers.error.RestTemplateResponseErrorHandler.handleError(RestTemplateResponseErrorHandler.java:64) ~[RestCommon-0.7.0-SNAPSHOT.jar!/:?]
...
Impacto
El agotamiento de la memoria del montón de Java conduce a un rendimiento deficiente de la interfaz del usuario de PFxM y a fallas inesperadas aleatorias en diversas tareas.
Cause
Los componentes asmui y asmManager tienen un rango predeterminado de memoria montón de Java de 128 M-512 M y 512 M-6144 M, respectivamente. En entornos más grandes, es posible que este rango de memoria no sea adecuado para permitir que los diversos procesos se ejecuten correctamente, lo que provoca el agotamiento de la memoria del montón.
Los entornos con una gran cantidad de objetos en PFxM (p. ej., 100+ recursos, 3+ servicios con +32 nodos, +10 servicios en total) se beneficiarán de un pool de memoria montón de Java más grande.
Resolution
El tamaño del montón de Java se puede aumentar para los componentes asumui y asmManager. En el pasado, esto se consideraba comúnmente como el "parche a gran escala" porque se debía aplicar un parche a la instancia de PFxM actual y no persistía en todas las actualizaciones de PFxM.
Ya no se requiere un parche, ya que esta actualización se aplica a los archivos de configuración que persisten durante la actualización de PFxM.
NOTA: Antes de actualizar los valores del montón, la VM de PFxM se debe configurar con al menos 20 vCPU (10 núcleos/2 conectores) y 56 GB de memoria.
Este procedimiento requiere un reinicio de la VM de PFxM. Planifique según corresponda.
1. Desde la CLI de PFxM, respalde los archivos de configuración actuales de ASMUI y asmManager de Java:
sudo cp /opt/Dell/ASM/conf/asmui-jvm-props.conf asmui-jvm-props.conf.bak sudo cp /opt/Dell/ASM/conf/asmManager-jvm-props.conf asmManager-jvm-props.conf.bak
2. Tome una instantánea de la VM de PFxM en el centro.
3. Aumente el rango superior de la pila de asmui a 2048 M:
echo '-Xloggc:/opt/Dell/ASM/logs/gc_asmui.log -XX:+PrintHeapAtGC -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=10M -XX:-HeapDumpOnOutOfMemoryError -XX:HeapDumpPath="/opt/Dell/ASM/logs/" -Xms128m -Xmx2048m -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -Dhttp.nonProxyHosts="localhost.localdomain|localhost|127.0.0.1" -Djava.io.tmpdir=/opt/Dell/ASM/temp -Dspring.profiles.active=main' > /opt/Dell/ASM/conf/asmui-jvm-props.conf
4. Aumente el rango superior del montón de asmManager a 18432M:
echo '-Xloggc:/opt/Dell/ASM/logs/gc_asmManager.log -XX:+PrintHeapAtGC -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=10M -XX:-HeapDumpOnOutOfMemoryError -XX:HeapDumpPath="/opt/Dell/ASM/logs/" -Xms512m -Xmx18432m -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -Dhttp.nonProxyHosts="localhost.localdomain|localhost|127.0.0.1" -Djava.io.tmpdir=/opt/Dell/ASM/temp -Dspring.profiles.active=main' > /opt/Dell/ASM/conf/asmManager-jvm-props.conf
5. Reinicie la VM de PFxM.
6. Verifique que se apliquen los cambios de configuración:
cat /opt/Dell/ASM/conf/asmui-jvm-props.conf | grep -E 'Xms|Xmx' cat /opt/Dell/ASM/conf/asmManager-jvm-props.conf | grep -E 'Xms|Xmx'
7. Una vez que se hayan implementado los cambios y se resuelva el problema, elimine la instantánea de la VM de PFxM en Center.
Impactado
Versiones 3.8.6 y posteriores