PowerFlex Manager 3.8. Ошибки кучи Java с нехваткой памяти приводят к снижению производительности
Summary: Нехватка памяти кучи Java приводит к низкой производительности пользовательского интерфейса PFxM и случайным непредвиденным сбоям при выполнении различных задач, таких как инвентаризация ресурсов, развертывание новой службы или добавление существующей. ...
Symptoms
Пользовательский интерфейс PFxM демонстрирует низкую производительность и может медленно входить в систему и медленно извлекать различные разделы в пользовательском интерфейсе. Различные задачи, такие как инвентаризация ресурсов, развертывание новой службы или добавление существующей, могут неожиданно завершаться сбоем.
Переменная asmui и asmManager Журналы показывают Out-OfMemory Ошибки:
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!/:?]
...
Воздействие
Нехватка памяти кучи Java приводит к низкой производительности пользовательского интерфейса PFxM и случайным непредвиденным сбоям для различных задач.
Cause
Компоненты asmui и asmManager по умолчанию имеют диапазон памяти кучи Java 128M–512M и 512M–6144M соответственно. В более крупных средах этого диапазона памяти может быть недостаточно для правильного выполнения различных процессов, что приводит к исчерпанию памяти кучи.
Среды с большим количеством объектов в PFxM (например, 100+ ресурсов, 3+ служб с 32+ узлами, 10+ общих служб) выиграют от большего пула памяти кучи Java.
Resolution
Размер кучи Java может быть увеличен для компонентов asumui и asmManager. В прошлом это обычно рассматривалось как «крупномасштабное исправление», поскольку исправление должно было применяться к текущему экземпляру PFxM и не сохранялось при обновлении PFxM.
Исправление больше не требуется, так как это обновление применяется к файлам конфигурации, которые сохраняются во время модернизации PFxM.
ПРИМЕЧАНИЕ. Перед обновлением значений кучи виртуальная машина PFxM должна быть настроена как минимум с 20 виртуальными ЦП (10 ядер / 2 процессора) и 56 Гбайт памяти.
Для выполнения этой процедуры необходимо перезагрузить виртуальную машину PFxM и спланировать соответствующим образом.
1. С помощью интерфейса командной строки PFxM создайте резервную копию текущих файлов конфигурации asmui и asmManager 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. Сделайте снимок виртуальной машины PFxM в Center.
3. Увеличьте верхний диапазон кучи asmui до 2048M:
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. Увеличьте верхний диапазон кучи asmManager до 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. Перезапустите виртуальную машину PFxM.
6. Убедитесь, что изменения в конфигурации применены:
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. После внесения изменений и устранения проблемы удалите снимок виртуальной машины PFxM в центре по адресу.
Влияние
Версии 3.8.6 и новее