JVM中堆空间划分、参数设置

转载 2017年02月17日 17:16:27

上图中,刻画了Java程序运行时的堆空间,可以简述成如下2条

1.JVM中堆空间可以分成三个大区,新生代、老年代、永久代

2.新生代可以划分为三个区,Eden区,两个幸存区

在JVM运行时,可以通过配置以下参数改变整个JVM堆的配置比例

1.JVM运行时堆的大小

  -Xms堆的最小值

  -Xmx堆空间的最大值

2.新生代堆空间大小调整

  -XX:NewSize新生代的最小值

  -XX:MaxNewSize新生代的最大值

  -XX:NewRatio设置新生代与老年代在堆空间的大小

  -XX:SurvivorRatio新生代中Eden所占区域的大小

3.永久代大小调整

  -XX:MaxPermSize

4.其他

   -XX:MaxTenuringThreshold,设置将新生代对象转到老年代时需要经过多少次垃圾回收,但是仍然没有被回收
在上面的配置中,老年代所占空间的大小是由-XX:SurvivorRatio这个参数进行配置的,看完了上面的JVM堆空间分配图,可能会奇怪,为啥新生代空间要划分为三个区Eden及两个Survivor区?有何用意?为什么要这么分?要理解这个问题,就得理解一下JVM的垃圾收集机制(复制算法也叫copy算法)

相关文章推荐

myeclipsejava虚拟机jvm参数设置

  • 2015年07月16日 10:21
  • 25KB
  • 下载

JVM参数设置详细说明

  • 2010年11月23日 12:37
  • 19KB
  • 下载

JVM之永久区Permanent区参数设置分析

引言: JVM中的内存区域一般分为3个部分: 年轻代、年老代和永久代;永久代在JDK 7中逐渐变化,到JDK 8之后完全消失,合并到了Native堆中。本文将逐个分析其中的使用和状况。...

JVM gc参数设置与分析

原文: http://hi.baidu.com/i1see1you/item/295c1dc81f91ab55bdef69e5gc日志分析工具: http://qa.blog.163.com/b...
  • yohoph
  • yohoph
  • 2014年12月20日 11:47
  • 21636

五种常用web服务器jvm参数设置

 一、tomcat Tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,需要调大。有以下几种方法可以选用: 第一种方法:在配置文件中设置 Windows下,...

java jvm GC 参数设置

programatically

tomcat jvm参数设置_me

tomcat中的jvm参数

JVM内存参数设置

永久存储区相关参数: -XX:PermSize  应用服务器启动时,永久存储区的初始化内存大小;默认64M。 -XX:MaxPermSize  应用运行中,永久存储区域的最大值。为了不消耗扩大JVM...

记录几个在jvm中频繁用到的参数设置

堆(Heap)和非堆(Non-heap)内存 按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。”“在JVM中...

聊聊JVM常用参数设置

整体考虑堆大小-Xms3550m, 初始化堆大小。通常情况和-Xmx大小设置一样,避免虚拟机频繁自动计算后调整堆大小。 -Xmx3550m,最大堆大小。考虑分代设置堆大小首先通过jstat等工具查看...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JVM中堆空间划分、参数设置
举报原因:
原因补充:

(最多只允许输入30个字)