【问题标题】:What are the different parts of the heap specified in the hs_err_pid file?hs_err_pid 文件中指定的堆的不同部分是什么?
【发布时间】:2010-11-20 03:55:08
【问题描述】:

下面是hs_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(对象空间)

【问题讨论】:

    标签: java gcc jvm


    【解决方案1】:

    这些是垃圾收集器使用的内存区域。

    有关详细信息,请参阅memory management whitepaper from Sun (PDF)。

    【讨论】:

      【解决方案2】:

      堆内存被组织成不同的

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

      在每个次要收集之前,一个幸存者空间将是空的 (to),这将用于保留来自 eden 空间或 from 幸存者空间的 live 对象用于次要收集。

      对于下一个次要集合,反之亦然,即以前的 from 将是 toto 将是 form

      2。 Tenured 或 Old Generation :lives 在 Young Generation 中一段时间​​的对象(即在一些次要集合中存活)被移动到 Old generation。

      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)
      

      以上是Heap中不同代的内存使用总结。

      read this Sun white paper了解清楚。

      【讨论】:

        【解决方案3】:

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

        热点世代

        Java 中的内存 HotSpot虚拟机整理 分为三代:年轻 一代、老一代和 永久一代。大多数对象是 最初分配在年轻 一代。老一代 包含幸存的对象 一些年轻一代 收藏品,以及一些大型的 可以直接分配的对象 在老一代。永久的 generation 持有 JVM 的对象 觉得有垃圾很方便 收集器管理,例如对象 描述类和方法,如 以及类和方法 自己。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-08-04
          • 2020-12-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-06-19
          • 2018-04-29
          相关资源
          最近更新 更多