谁能解译一下PSYoungGen /PSOldGen/PSPermGen区别及出现的问题?

pyantking 2008-03-29 08:57:25
Heap
PSYoungGen total 44928K, used 916K [0x4e3c0000, 0x50fe0000, 0x51b10000)
eden space 44736K, 2% used [0x4e3c0000,0x4e4a5318,0x50f70000)
from space 192K, 0% used [0x50f70000,0x50f70000,0x50fa0000)
to space 192K, 0% used [0x50fb0000,0x50fb0000,0x50fe0000)
PSOldGen total 453312K, used 125529K [0x32910000, 0x4e3c0000, 0x4e3c0000)
object space 453312K, 27% used [0x32910000,0x3a3a6498,0x4e3c0000)
PSPermGen total 65536K, used 65535K [0x2e910000, 0x32910000, 0x32910000)
object space 65536K, 99% used [0x2e910000,0x3290fff8,0x32910000)
...全文
3858 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
pyantking 2008-03-31
  • 打赏
  • 举报
回复
看来没有收集到答案,查看了很多书,终于是知道了.
在这里提供给大家学习学习,同时自己也巩固一下!

SUN JVM GC 使用是分代收集算法,即将内存分为几个区域,将不同生命周期的对象放在不同区域里.
新的对象会先生成在Young area,也就是PSYoungGen
在几次GC以后,如过没有收集到,就会逐渐升级到PSOldGen 及Tenured area(也就是PSPermGen)中。

三者区别:
在GC收集的时候,频繁收集生命周期短的区域(Young area),因为这个区域内的对象生命周期比较短,GC 效率也会比较高。而比较少的收集生命周期比较长的区域(Old area or Tenured area),以及基本不收集的永久区(Perm area)。
DiligencyMan 2008-03-30
  • 打赏
  • 举报
回复
????
不懂,给你顶上去!
老紫竹 2008-03-30
  • 打赏
  • 举报
回复
也学这个文章能帮助你 http://www.wujianrong.com/archives/2007/09/jconsole.html

其中一段解释如下

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使用的垃圾回收算法
内容概要:本文围绕基于二阶锥规划(SOCP)的配电网重构与智能软开关(SOP)协同优化展开研究,系统阐述了如何利用SOCP方法对主动配电网进行精确建模与优化求解,重点解决了含分布式电源接入背景下的网络损耗降低、电压越限抑制及新能源消纳能力提升等问题。研究通过引入SOP这一灵活的功率调控装置,实现对配电网潮流的动态调节,并结合Matlab代码实现了从数学建模、凸松弛处理、优化求解到仿真分析的全流程技术路线,具有较强的可复现性和工程应用价值。; 适合人群:具备电力系统分析基础、熟悉优化建模方法且拥有一定Matlab编程能力的研究生、科研人员及从事智能配电网规划与运行的工程技术人员。; 使用场景及目标:①用于主动配电网中计及SOP的重构模型构建与求解研究;②支撑高比例可再生能源接入场景下的配电系统优化运行与稳定性提升;③为相关学术论文的复现、算法改进与仿真验证提供完整的技术参考与代码支持。; 阅读建议:建议读者结合文中Matlab代码与主流优化工具箱(如YALMIP、CVX)同步实践,重点关注SOCP松弛的有效性、SOP建模方式及其在系统优化中的作用机制,深入理解配电网重构与柔性调控设备协同优化的设计思路与实现细节。

81,111

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧