by Guest » 10 Feb 2025, 07:18
Ich habe einige OutofMemoryError Probleme in meinem Code debuggiert. Deshalb habe ich eine Methode erstellt, die die RAM -Statistiken, einschließlich des maximalen Speichers, ausgedruckt hat. Versuche, die Methode aufzurufen, gab verschiedene Werte für den Max -RAM zurück. Hier ist der Ausschnitt relevant. < /P>
Aufgrund dieses Snippet >.
Wie kommt es, dass sich die Ausgabe von runtime.maxMemory () ständig ändert? In den meisten Fällen ist es zugegebenermaßen nicht zu viel. Vielleicht die Hälfte einer Gigabyte. Aber manchmal können diese halben Auftritte zu fast 3 Gigabyte von Unterschied zu dem Zeitpunkt des Starts summieren. /Code> im Laufe der Zeit ändern? Es ist nicht so Und kurz bevor ich Java betreibe, hat mein System ungefähr 29 Gigabyte kostenlos. Drucken Sie verschiedene Werte aus.for (int i = 0; i < 10; i++) {
Thread.sleep(10_000);
System.out.println(Runtime.getRuntime().maxMemory());
}
< /code>
Manchmal bekomme ich 23,5, othertimes, ich bekomme 24 usw. < /p>
Es könnte auch helfen - ich me mich an einem AWS EC2 messen Beispiel. Ich bezweifle, dass das helfen würde, aber ich füge es hinzu, falls dies der Fall wäre.
Ich habe einige OutofMemoryError Probleme in meinem Code debuggiert. Deshalb habe ich eine Methode erstellt, die die RAM -Statistiken, einschließlich des maximalen Speichers, ausgedruckt hat. Versuche, die Methode aufzurufen, gab verschiedene Werte für den Max -RAM zurück. Hier ist der Ausschnitt relevant. < /P>
[code]... -Xmx=$SOME_VAR -Xms=$SOME_VAR[/code]
Aufgrund dieses Snippet >.
Wie kommt es, dass sich die Ausgabe von runtime.maxMemory () ständig ändert? In den meisten Fällen ist es zugegebenermaßen nicht zu viel. Vielleicht die Hälfte einer Gigabyte. Aber manchmal können diese halben Auftritte zu fast 3 Gigabyte von Unterschied zu dem Zeitpunkt des Starts summieren. /Code> im Laufe der Zeit ändern? Es ist nicht so Und kurz bevor ich Java betreibe, hat mein System ungefähr 29 Gigabyte kostenlos. Drucken Sie verschiedene Werte aus.for (int i = 0; i < 10; i++) {
Thread.sleep(10_000);
System.out.println(Runtime.getRuntime().maxMemory());
}
< /code>
Manchmal bekomme ich 23,5, othertimes, ich bekomme 24 usw. < /p>
Es könnte auch helfen - ich me mich an einem AWS EC2 messen Beispiel. Ich bezweifle, dass das helfen würde, aber ich füge es hinzu, falls dies der Fall wäre.