2009-08-17 75 views
4

下面是hs_err_pidhs_err_pid文件中指定堆的不同部分是什么?

Heap 
PSYoungGen  total 13888K, used 9807K [0x8a330000, 0x8b140000, 0x914f0000) 
    eden space 13504K, 69% used [0x8a330000,0x8ac67710,0x8b060000) 
    from space 384K, 96% used [0x8b0e0000,0x8b13c6e0,0x8b140000) 
    to space 448K, 0% used [0x8b060000,0x8b060000,0x8b0d0000) 
PSOldGen  total 115456K, used 57684K [0x514f0000, 0x585b0000, 0x8a330000) 
    object space 115456K, 49% used [0x514f0000,0x54d451c0,0x585b0000) 
PSPermGen  total 16384K, used 11253K [0x4d4f0000, 0x4e4f0000, 0x514f0000) 
    object space 16384K, 68% used [0x4d4f0000,0x4dfed618,0x4e4f0000) 

什么是

  1. PSYoungGen
  2. 伊甸空间的一部分(从空间,空间)
  3. PSOldGen
  4. PSPermGen(对象空间)

回答

2

这是您的Java HotSpot Garbage Collection信息来源。

热点世代在Java HotSpot虚拟机

记忆被组织成 三代:年轻一代 ,老一代和 永久代。大多数对象是 最初分配在年轻的 世代。旧一代 包含已经存活的对象,这些对象在老一代中可以直接分配 的一些年轻代 集合以及一些大 对象。生成的对象保留JVM 发现便于让垃圾收集器管理的对象,例如描述类和方法的对象 ,以及 以及类和方法 本身。

3

堆内存被组织成不同世代

Default Arrangement of Generations, Except for Parallel Collector and G1

1.年轻一代:大多都是新的对象是在年轻一代最初创建。这一代分为两个区域,即伊甸园空间幸存者空间。幸存者空间进一步分为两个区域幸存者0幸存者1。所有新对象最初都是在伊甸园空间中创建的,而生存者空间主要用于轻微垃圾收集。

每一次要收集前一个幸存者空间将是空的(to),这将用于保持现场对象从eden空间或轻微集合from生存空间。

Young Generation Minor Collection 1

对于下一个小的收集将是反过来的,即前者fromtotoform

Young Generation Minor Collection 2

2.终身或老一代:对象lives在年轻一代的一段时间(即存活几个小集合)被移动到老一代。

3.永久生成:该区域主要包含类和方法元数据。 Read more here


Heap 
PSYoungGen  total 13888K, used 9807K [0x8a330000, 0x8b140000, 0x914f0000) 
    eden space 13504K, 69% used [0x8a330000,0x8ac67710,0x8b060000) 
    from space 384K, 96% used [0x8b0e0000,0x8b13c6e0,0x8b140000) 
    to space 448K, 0% used [0x8b060000,0x8b060000,0x8b0d0000) 
PSOldGen  total 115456K, used 57684K [0x514f0000, 0x585b0000, 0x8a330000) 
    object space 115456K, 49% used [0x514f0000,0x54d451c0,0x585b0000) 
PSPermGen  total 16384K, used 11253K [0x4d4f0000, 0x4e4f0000, 0x514f0000) 
    object space 16384K, 68% used [0x4d4f0000,0x4dfed618,0x4e4f0000) 

以上是表示堆的不同世代的内存使用情况的总结。

请清楚了解read this Sun white paper

相关问题