2012-03-27 4 views
2

ich benutze jdk1.6. Ich konfiguriere Xmx = 2G, Xms = 2G, NewSize = MaxNewSize = 660mjdk1.6 speicher layout

ich aktivieren ausführliche gc. Ich sehe das was ich nicht bin undertsnaidng:

PSYoungGen  total 608256K, used 32440K 
eden space 540672K, 6% used 
from space 67584K, 0% used 
to space 67584K, 0% used 

Nach meiner Konfiguration YoungGen Größe ist 675840MB. Da younGen = Eden + zwei Überlebenden Leerzeichen,

GC Log sagen, dass meine YoungGen Größe = 608256K was ist nicht das, was ich konfiguriert habe. Auch wenn ich hinzufügen Eden Raum und zwei Survivor Spaces Ich erhalte 540672K + 67584K + 67584K = 675840K

die auch falsch ist.

Aber Eden + 1 Survivor Speicherplatz = 540672K + 67584K = 675840K, was ich konfiguriert habe. Also bedeutet das, dass YoungGen = Eden + 1 Survivor Space? Ich denke, es gibt zwei Überlebenden Platz, richtig?

Bitte erklären Sie mir.

danken Ihnen

Antwort

1

Es gibt zwei Überlebende Räume, aber nur eine zu einem bestimmten Zeitpunkt verwendet wird; Objekte werden jedes Mal von einem Überlebenden zum anderen hin und her bewegt, wenn es eine Müllsammlung der jüngeren Generation gibt. So ist Ihr konfigurierter Raum für junge Generationen gleich dem eden-Raum plus ein der Überlebenden-Räume; der andere ist im Grunde nur über Kopf.

Verwandte Themen