2016-07-25 5 views
4

Zum Beispiel, wenn ich einfache Spring Boot-App von IDE ohne Definitionen ausführen/debuggen, welche Größe der anfänglichen Heap-Größe, Max. Heap-Größe und Stack-Größe (-Xms, -Xmx, -Xss) gesetzt werden?Wie lauten die Standardspeichereinstellungen für den Spring Boot?

+8

Wenn Ihre IDE keine spezifischen Einstellungen hat, verwendet sie die Java-Standardeinstellungen, die von der System- und Java-Version abhängen. – dunni

Antwort

0

Standardmäßig verwendet die Spring Boot-App JVM-Standardspeichereinstellungen.

Standard-Heap-Größe

Falls Ihre physische Speichergröße von bis zu 192 Megabyte (MB), dann standardmäßig maximale Heap-Größe ist die Hälfte des physischen Speichers.

Wenn Ihre physische Speichergröße mehr als 192 Megabyte beträgt, beträgt die maximale Größe des Heapspeichers ein Viertel des physischen Speichers.

Wenn beispielsweise dem Computer 128 MB an physikalischem Speicher hat, dann ist die maximale Speichergröße beträgt 64 MB, und größer als oder gleich 1 GB des physikalischen Speichers ergibt eine maximale Speichergröße von 256 MB.

Die maximale Heap-Größe wird von der JVM tatsächlich nicht verwendet, es sei denn, Ihr Programm erstellt genug Objekte, um es zu erfordern. Eine wesentlich kleinere Menge, die so genannte Initial-Heap-Größe, wird während der JVM-Initialisierung zugewiesen. Dieser Betrag beträgt mindestens 8 MB und ansonsten 1/64 physischen Speichers bis zu einer physischen Speichergröße von 1 GB.

Die maximale Menge an Speicherplatz für die junge Generation beträgt ein Drittel der Gesamtgröße des Heapspeichers.

Sie können

Linux mit dem folgenden Befehl speziell für Sie Maschine Standardwerte überprüfen:

java -XX: + PrintFlagsFinal -Ausführung | grep HeapSize

Fenster:

java -XX: + PrintFlagsFinal -Ausführung | findstr HeapSize

Referenz: https://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/parallel.html#default_heap_size

Standard-Thread-Stack-Größe

Der Standardfaden Stapelgröße mit JVM, OS und Umgebungsvariablen variiert.

Um herauszufinden, was Ihre Standard-Thread-Stapelgröße auf Ihrer Plattform ist, verwendet

In Linux:

java -XX: + PrintFlagsFinal -Ausführung | grep Thread

In Windows:

java -XX: + PrintFlagsFinal -Ausführung | findstr ThreadStackSize