Heim  >  Artikel  >  Java-Heap-Speicherplatz – trotz Heap-Wachstum

Java-Heap-Speicherplatz – trotz Heap-Wachstum

WBOY
WBOYnach vorne
2024-02-09 12:40:101029Durchsuche

Java-Heap-Speicherplatz ist der Speicherbereich, der zum Speichern von Objektinstanzen in der Java Virtual Machine verwendet wird. Er ist ein wichtiger Teil der Java-Programmlaufzeit. Die Größe des Heap-Speicherplatzes kann dynamisch angepasst werden, während das Programm ausgeführt wird. Der Heap-Speicherplatz kann vergrößert oder verkleinert werden. Obwohl die Größe des Heap-Speicherplatzes erhöht werden kann, sollte darauf geachtet werden, die Nutzung des Heap-Speicherplatzes ordnungsgemäß zu verwalten, um einen Speicherüberlauf zu vermeiden. Bei der Verwaltung des Java-Heap-Speicherplatzes müssen Sie auf den Betrieb des Garbage-Collection-Mechanismus achten und die Größe des Heap-Speicherplatzes angemessen festlegen, um einen effizienten Betrieb des Programms zu erreichen.

Frageninhalt

Das Problem, mit dem ich konfrontiert bin, besteht darin, dass die Java-Heap-Space-Ausnahme auftritt, ich aber gerade den Heap-Space vergrößert habe. Ich habe den Heap-Speicherplatz vergrößert

jmeter.sh

jvm_args="-xms1g -xmx8g"
heap="-xms1g -xmx8g"

und jmeter.bat

set jvm_args=-xms1g -xmx8g
set heap=-xms1g -xmx8g

In meinem Testplan gibt es keinen Listenner, Jmeter wird über die Befehlszeile gestartet, aber es passiert nichts, es erscheint immer eine Java-Heap-Space-Ausnahme.

Gibt es echte Experten, die mir helfen können?

Völlig unnormal:

java.lang.OutOfMemoryError: Java heap space Dumping heap to java_pid32652.hprof ... Heap dump file created [8922760824 bytes in 40.975 secs] summary + 55 in 00:01:03 = 0.9/s Avg: 9671 Min: 0 Max: 89909 Err: 41 (74.55%) Active: 50 Started: 50 Finished: 0 summary = 3811 in 00:03:38 = 17.5/s Avg: 1149 Min: 0 Max: 89909 Err: 41 (1.08%) Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "boundedElastic-94"

Workaround

Vielleicht bin ich kein „echter Experte“, aber ich sehe den jmeter.sh 文件中的更改不正确。您应该使用 exportBefehl zum Festlegen von Umgebungsvariablen.

Sie können auch die effektive JVM-Heap-Größe für jedes jsr223-Testelement中使用以下代码> erhalten:

println('Current heap: ' + Runtime.getRuntime().maxMemory() / 1024 / 1024 / 1024 + ' GB')

Weitere Informationen: 9 einfache Lösungen für den Fehler „Nicht genügend Speicher“ beim Jmeter-Lasttest

Wenn Sie Heap-Änderungen anwenden und dennoch auf Fehler stoßen, besteht die einzige Möglichkeit zur Behebung darin, in den Verteilten Testmodus zu wechseln

Das obige ist der detaillierte Inhalt vonJava-Heap-Speicherplatz – trotz Heap-Wachstum. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen