PSYoungGen /PSOldGen/PSPermGen解释

本文深入探讨了Java虚拟机(JVM)中的内存管理机制,详细解释了新生代(Young Generation)、老年代(Old Generation)及永久代(Permanent Generation)的工作原理,并介绍了Eden Space、Survivor Space和Tenured Generation等概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

args: -XX:+PrintGCDetails -Xms20m -Xmx20m -Xmn10m
Heap
 PSYoungGen      total 9216K, used 5423K [0x00000007ff600000, 0x0000000800000000, 0x0000000800000000)
  eden space 8192K, 66% used [0x00000007ff600000,0x00000007ffb4bea8,0x00000007ffe00000)
  from space 1024K, 0% used [0x00000007fff00000,0x00000007fff00000,0x0000000800000000)
  to   space 1024K, 0% used [0x00000007ffe00000,0x00000007ffe00000,0x00000007fff00000)
 ParOldGen       total 10240K, used 0K [0x00000007fec00000, 0x00000007ff600000, 0x00000007ff600000)
  object space 10240K, 0% used [0x00000007fec00000,0x00000007fec00000,0x00000007ff600000)
 PSPermGen       total 21504K, used 2920K [0x00000007f9a00000, 0x00000007faf00000, 0x00000007fec00000)
  object space 21504K, 13% used [0x00000007f9a00000,0x00000007f9cda2f0,0x00000007faf00000)
  • PSYoungGen:新生代情况
  • PSOldGen:老年代情况,占用空间10240K,10M,这个是老年代的活跃数据情况
  • PSPermGen:永久带情况,占用空间21504K,21M,它是永久带的活跃数据大小
  • Eden Space (heap): 内存最初从这个线程池分配给大部分对象。
  • Survivor Space (heap):用于保存在eden space内存池中经过垃圾回收后没有被回收的对象。
  • Tenured Generation (heap):用于保持已经在 survivor space内存池中存在了一段时间的对象。
  • Permanent Generation (non-heap): 保存虚拟机自己的静态(refective)数据,例如类(class)和方法(method)对象。Java虚拟机共享这些类数据。这个区域被分割为只读的和只写的,
  • Code Cache (non-heap):HotSpot Java虚拟机包括一个用于编译和保存本地代码(native code)的内存,叫做“代码缓存区”(code cache)

详细信息区域给出一些当前线程的信息: Used :已使用:当前的内存使用量。使用的内存包括所有对象(能被获取和不能被获取的)所占用的内存。

Committed :分配量:Java虚拟机保证能够获取到的内存量。分配内存(committedmemory)的量可能随时间改变。Java虚拟机可能释放部分这里的内存给系统,相应的分配的内存这时可能少于初始化时分配的给它的量。分配量总数大于或等于已使用的内存量。

Max :内存管理系统可以使用的最大内存量。这个值可以被改变或者不做设定。如果JVM试图增加使用的内存到大于分配量(committedmemory)的情况,内存分配可能失败,即便想使用的内存量小于或者等于最大值(如:系统虚拟内存比较低时)

Usage Threshold The usage threshold of a memory pool. This field will only beshown if the memory pool supports usage threshold. GC time :垃圾回收使用的总时间和调用垃圾回收的次数。它可能有好几行,每行代表JVM使用的垃圾回收算法

转载于:https://my.oschina.net/boltwu/blog/705127

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值