当前位置:首页 > 开发 > Web前端 > 前端 > 正文

jvm内存管理

发表于: 2015-07-10   作者:easterfly   来源:转载   浏览:
jvm
摘要: 一、JVM堆内存的划分 分为年轻代和年老代。年轻代又分为三部分:一个eden,两个survivor。 工作过程是这样的:e区空间满了后,执行minor gc,存活下来的对象放入s0, 对s0仍会进行minor gc,存活下来的的对象放入s1中,对s1同样执行minor gc,依旧存活的对象就放入年老代中; 年老代满了之后会执行major gc,这个是stop the word模式,执行
一、JVM堆内存的划分
分为年轻代和年老代。年轻代又分为三部分:一个eden,两个survivor。
工作过程是这样的:e区空间满了后,执行minor gc,存活下来的对象放入s0, 对s0仍会进行minor gc,存活下来的的对象放入s1中,对s1同样执行minor gc,依旧存活的对象就放入年老代中;
年老代满了之后会执行major gc,这个是stop the word模式,执行major gc时所有线程都要等待,对应用可能会有影响,如果频繁进行major gc的话,有可能会出现应用超时的情况;
-xms:初始堆内存大小       -xmx:最大堆内存大小
二、持久代
持久代(perm gen)不属于堆内存,执行的是full gc,full gc对应用的影响也较大
-xx:PermSize=持久代初始内存大小       -xx:MaxPermSize=最大持久代内存大小
三、栈内存
与堆内存不同,栈内存主要存放的是临时的变量、引用对象,遵循LIFO原则
四、监控
jstat -gc pid time     time指打印时间间隔
结果参数中:
s0c,s1c指2个s区空间大小
s0u,s1u指2个s区当前使用量
ec,eu指e区空间大小和当前使用量
oc,ou指年老代空间大小和当前使用量
pc,pu指持久代空间大小和当前使用量
ygc,ygct指年轻代gc次数和花费的时间
fgc,fgct指full gc次数和花费时间
gct指gc花费的总时间[align=left]
[/align]

jvm内存管理

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
Java虚拟机拥有自动管理内存机制,所以Java 程序员不需要像C/C++一样去关注内存的分配和释放,也不
java不像C++那样需要显示的分配和释放内存,对java程序员是一种解放,很大程度降低了编程的难度,因
JVM(Java Virtual Machine):Java虚拟机,所有的Java程序都在Java虚拟机中运行。 元数据:在本文
为了保证java内存不会溢出,java中有垃圾回收机制。垃圾回收机制是指jvm用于释放那些不再使用的对象
名词解释: JVM(Java Virtual Machine):Java虚拟机,所有的Java程序都在Java虚拟机中运行。 元数
如图所示,JVM主要包括两个子系统和两个组件。两个子系统分别是Class loader子系统和Execution engi
转自:http://www.iteye.com/topic/802638 Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成
在jvm中堆空间划分为三个代:年轻代(Young Generation)、年老代(Old Generation)和永久代(Perm
这篇文章通过翻译、总结,提炼SUN公司(已被甲骨文收购) 的文档 "Memory Management in the Java Hot
zhuan: topic.csdn.net/u/20090602/10/BD9D4BA2-DBEB-49B3-8651-67C5DE2B228A.html 近期看了看Java
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号