什么是PSYoungGen 转载网上其他作者

原文地址PSYoungGen /PSOldGen/PSPermGen解释 - 码农教程 

PSYoungGen /PSOldGen/PSPermGen解释

本文章向大家介绍PSYoungGen /PSOldGen/PSPermGen解释,主要包括PSYoungGen /PSOldGen/PSPermGen解释使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

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使用的垃圾回收算法

你可能感兴趣的:(java,jvm,开发语言)