2012-03-27 39 views
2

我正在使用jdk1.6。 I configureg Xmx = 2G,Xms = 2G,NewSize = MaxNewSize = 660mjdk1.6內存佈局

我啓用詳細的gc。我看到這我不undertsnaidng:

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

根據我的配置YoungGen大小爲675840MB。 由於younGen =伊甸園+兩個倖存者空間,

GC日誌說,我的YoungGen大小= 608256K這不是我配置的。 此外,如果我添加伊甸園空間和兩個倖存者空間我得到 540672K + 67584K + 67584K = 675840K

這也是錯誤的。

但是Eden + 1倖存者空間= 540672K + 67584K = 675840K,我已經配置了。 那麼這是否意味着YoungGen = Eden + 1倖存者空間?我覺得有兩個倖存者空間 ,對嗎?

請解釋一下。

感謝您

回答

1

有兩種生存空間,但只有一個在任何給定時間使用;每次有年輕一代的垃圾收集時,物體會從一個倖存者空間來回移動到另一個。因此,您配置的年輕一代空間等於伊甸園空間加一個倖存者空間;另一個基本上只是開銷。