PowerFlex Manager 3.8: Muistin loppuminen Java-kekovirheet johtavat huonoon suorituskykyyn
Summary: Java-keon muistin loppuminen johtaa PFxM-käyttöliittymän heikkoon suorituskykyyn ja satunnaisiin odottamattomiin virheisiin erilaisissa tehtävissä, kuten resurssien inventoinnissa, uuden palvelun käyttöönotossa tai olemassa olevan palvelun lisäämisessä. ...
Symptoms
PFxM-käyttöliittymän suorituskyky on heikko, ja siihen kirjautuminen voi olla hidasta ja eri osia voi olla hidasta. Erilaiset tehtävät, kuten resurssiluettelo, uuden palvelun käyttöönotto tai aiemmin luodun palvelun lisääminen, voivat odottamatta epäonnistua.
pikanäppäimellä asmui ja asmManager lokit näyttävät Out-OfMemory Virheitä:
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!/:?]
...
Vaikutus
Java-keon muistin loppuminen johtaa PFxM-käyttöliittymän heikkoon suorituskykyyn ja satunnaisiin odottamattomiin virheisiin eri tehtävissä.
Cause
Asmui- ja asmManager-komponenttien oletusarvoinen Java-kekomuistialue on vastaavasti 128M-512M ja 512M-6144M. Suuremmissa ympäristöissä tämä muistialue ei ehkä riitä eri prosessien suorittamiseen oikein, mikä johtaa kasan muistin tyhjenemiseen.
Ympäristöt, joissa PFxM:ssä on suuri määrä objekteja (esim. 100+ resurssia, 3+ palvelua, joissa on 32+ solmua, 10+ kokonaispalvelua), hyötyvät suuremmasta Java-kekomuistivarannosta.
Resolution
Java-kasan kokoa voidaan suurentaa asumui- ja asmManager-komponenteille. Aiemmin tätä pidettiin yleisesti "laajamittaisena korjaustiedostona", koska korjaustiedosto oli asennettava nykyiseen PFxM-esiintymään, eikä se säilynyt PFxM-päivityksissä.
Korjaustiedostoa ei enää tarvita, koska tämä päivitys otetaan käyttöön kokoonpanotiedostoissa, jotka säilyvät koko PFxM-päivityksen ajan.
HUOMAUTUS: Ennen kekoarvojen päivittämistä PFxM-virtuaalikoneessa on oltava vähintään 20 vCPU (10 ydintä / 2 kantaa) ja 56 Gt muistia.
Tämä toimenpide edellyttää PFxM-virtuaalikoneen uudelleenkäynnistystä. Suunnittele sen mukaan.
1. Varmuuskopioi PFxM-komentoriviliittymässä nykyiset asmui- ja asmManager Java -kokoonpanotiedostot:
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. Ota tilannevedos keskellä olevasta PFxM-virtuaalikoneesta.
3. Nosta asmui-kasan yläraja 2048 metriin:
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. Nosta asmManager-kasan yläalue 18432 metriin:
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. Käynnistä PFxM-virtuaalikone uudelleen.
6. Varmista, että kokoonpanomuutokset on otettu käyttöö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. Kun muutokset on otettu käyttöön ja ongelma on ratkaistu, poista PFxM-virtuaalikoneiden tilannevedos kohdasta Keskellä.
Vaikuttanut
Versiot 3.8.6 ja uudemmat