0

Hallo Leute ich arbeite mit domänenspezifische Sprache (DSL) und WebSphere. Mein Kern basiert auf Java, Frühling und Hibernate. Während mehrere Benutzer gleichzeitig versuchen, über die Benutzeroberfläche Daten aus der Datenbank abzurufen, wurde der Heap-Speicher gefüllt und der Fehler "Anwendungsspeicherfehler" gemeldet. Dieses Problem tritt in der Produktionsumgebung auf.Wenn mehrere Benutzer Daten durch UI zugreifen, Heap-Speicher wurde gefüllt und Anwendungsbericht aus Speicherfehler

Antwort

0

Sie möglicherweise in der Lage, Ihr Problem zu lösen, indem Sie die maximale JVM-Heap-Größe auf Ihrem Server konfiguriert erhöhen. Um die JVM-Heap-Größe zu ändern, navigieren Sie zu Servers > WebSphere Application Servers > [server_name] > Java and process management > Process definition > Java virtual machine. Passen Sie die Mindest- und Höchstwerte für die Heap-Größe an und starten Sie den Server neu, damit die Änderungen wirksam werden.

Bitte beachten Sie, dass das Tunen Ihrer JVM ein sehr komplexer Prozess ist. Sie können die Informationen unter this IBM Documentation link als Ausgangspunkt verwenden.

Um festzustellen, warum Ihre Anwendung einen OOM-Fehler verursacht, müssen Sie eine Form der Analyse durchführen. Dazu müssen Sie die erwartete Produktionslast in einer anderen Testumgebung simulieren. Dann können Sie PMI-Statistiken, Javacores, Heap-Dumps und Core-Dumps erfassen und sie verwenden, um festzustellen, warum Ihre Anwendungen auf einen OOM-Fehler stoßen.

+0

@ xsurgent- Dies ist eine einfache Möglichkeit, die Größe des Heapspeichers zu erhöhen. Wir haben 5 GB Speicherplatz für Heap-Speicher. –

+0

Siehe [this link] (https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/memleaks002.html) für die Arten von OOM-Fehlern. Können Sie Ihre Stack-Verfolgung überprüfen und die Frage mit diesen Informationen aktualisieren? – Haxiel