1、参数

-Xmn    设置新生代的大小,设置一个比较大的新生代会减少老年代的大小,这个参数对系统性能以及 GC 行为影响很大,新生代大小一般设置为真个堆内存的1/3到1/4
-XX:SurvivorRatio 用来设置新生代中 eden 区和 from/to 区的比例。含义 -XX:SurvivorRatio = eden/from = eden/to
-XX:NewRatio 设置新生代和老年代的比例 -XX:NewRatio = 老年代/新生代

2、测试代码

public static void main(String[] args)
{
//配置参数
//-Xms20m -Xmx20m -Xmn1m -XX:SurvivorRatio=2 -XX:+PrintGCDetails -XX:+UseSerialGC byte[] b = null;
for (int i = 0; i < 5; i++)
{
//连续向系统申请 5m 空间
b = new byte[1*1024*1024];
}
}

3、控制台打印结果

 [GC [DefNew: 512K->256K(768K), 0.0279056 secs] 512K->440K(20224K), 0.0895553 secs] [Times: user=0.00 sys=0.00, real=0.09 secs]
Heap
def new generation total 768K, used 384K [0x00000000f9a00000, 0x00000000f9b00000, 0x00000000f9b00000)
eden space 512K, 25% used [0x00000000f9a00000, 0x00000000f9a20348, 0x00000000f9a80000)
from space 256K, 100% used [0x00000000f9ac0000, 0x00000000f9b00000, 0x00000000f9b00000)
to space 256K, 0% used [0x00000000f9a80000, 0x00000000f9a80000, 0x00000000f9ac0000)
tenured generation total 19456K, used 5304K [0x00000000f9b00000, 0x00000000fae00000, 0x00000000fae00000)
the space 19456K, 27% used [0x00000000f9b00000, 0x00000000fa02e320, 0x00000000fa02e400, 0x00000000fae00000)
compacting perm gen total 21248K, used 2550K [0x00000000fae00000, 0x00000000fc2c0000, 0x0000000100000000)
the space 21248K, 12% used [0x00000000fae00000, 0x00000000fb07dbe0, 0x00000000fb07dc00, 0x00000000fc2c0000)
No shared spaces configured.

4、eclipse 配置 jvm 参数、分析打印结果。请打开下面链接

http://www.cnblogs.com/fangwu/p/8376326.html

jvm 虚拟机参数_新生代内存分配的更多相关文章

  1. jvm 虚拟机参数_堆内存分配

    1.参数 -XX:+PrintGC 只要遇到 GC 就会打印日志 -XX:+UseSerialGC 配置串行回收器 -XX:+PrintGCDetails 查看详细信息,包括各个区的情况 -XX:+P ...

  2. jvm 虚拟机参数_栈内存分配

    1.参数 -Xss 指定线程最大的栈空间,整个参数也直接决定了函数可调用的最大深度 2.测试代码 private static int count; public static void addCou ...

  3. JVM系列(1)- JVM常见参数及堆内存分配

    常见参数配置 基于JDK1.6 -XX:+PrintGC 每次触发GC的时候打印相关日志 -XX:+UseSerialGC 串行回收模式 -XX:+PrintGCDetails 打印更详细的GC日志 ...

  4. jvm 虚拟机参数_方法区内存分配

    1.方法区( 永久区 ) 和堆一样,方法区是一块所有线程共享的区域,他用于保存系统类的信息.默认情况下 -XX:MaxPermSize 为 64m.如果系统运行时产生大量的类,就需要设置一个合适方法区 ...

  5. Java虚拟机垃圾收集器与内存分配策略

    Java虚拟机垃圾收集器与内存分配策略 概述 那些内存须要回收,什么时候回收.怎样回收是GC须要完毕的3件事情. 程序计数器.虚拟机栈与本地方法栈这三个区域都是线程私有的,内存的分配与回收都具有确定性 ...

  6. Java虚拟机垃圾回收:内存分配与回收策略 方法区垃圾回收 以及 JVM垃圾回收的调优方法

    在<Java对象在Java虚拟机中的创建过程>了解到对象创建的内存分配,在<Java内存区域 JVM运行时数据区>中了解到各数据区有些什么特点.以及相关参数的调整,在<J ...

  7. 深入了解java虚拟机(JVM) 第七章 内存分配策略

    理解了jvm内存分配策略不仅是程序性能调优的重要知识,还能够给养成自己一种良好的代码思路,一个程序的代码差异往往都是在这里体现出来的. 一.对象优先分配到Eden区域   一般来说,新创建的对象都会直 ...

  8. JVM完整详解:内存分配+运行原理+回收算法+GC参数等

    不管是BAT面试,还是工作实践中的JVM调优以及参数设置,或者内存溢出检测等,都需要涉及到Java虚拟机的内存模型.内存分配,以及回收算法机制等,这些都是必考.必会技能. JVM内存模型 JVM内存模 ...

  9. JVM笔记4:Java内存分配策略

    简单来说,对象内存分配主要是在堆中分配.但是分配的规则并不是固定的,取决于使用的收集器组合以及JVM内存相关参数的设定 以下介绍几条基本规则(使用的ParNew+Serial Old收集器组合): 一 ...

随机推荐

  1. [Design]Ppt处理大段文字

    可以用标签类的东西 时间轴

  2. Python Study (05)装饰器

    装饰器(decorator)是一种高级Python语法.装饰器可以对一个函数.方法或者类进行加工.在Python中,我们有多种方法对函数和类进行加工,比如在Python闭包中,我们见到函数对象作为某一 ...

  3. POI进行ExcelSheet的拷贝

    POI进行ExcelSheet的拷贝 学习了:http://www.360doc.com/content/17/0508/20/42823223_652205632.shtml,这个也需要改改 这个: ...

  4. getColor()方法过时的替代方法

    Android SDK 升級到 23 之後,getResource.getColor(R.color.color_name) 過時 使用新加入的方法 ContextCompat.getColor(co ...

  5. win10 bcdedit加入vhdx启动

    第一步,先用hyper-v.imagex或者其他vhd安装器.将win10 系统安装到一个vhd文件里(vhdx更好.动态扩展等诸多优良特性).比方d:\win10tp.vhdx 第二步,运行例如以下 ...

  6. poj--1236--Network of Schools(scc+缩点)

    Network of Schools Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 14062   Accepted: 56 ...

  7. Oracle 常见的33个等待事件

    一. 等待事件的相关知识: 1.1 等待事件主要可以分为两类,即空闲(IDLE)等待事件和非空闲(NON-IDLE)等待事件. 1). 空闲等待事件指Oracle正等待某种工作,在诊断和优化数据库的时 ...

  8. TP5异常处理

    TP5异常处理 标签(空格分隔): php, thinkphp5 自定义异常处理 namespace app\common\exception; use think\Exception; class ...

  9. ML学习笔记- 神经网络

    神经网络 有的模型可以有多种算法.而有的算法可能可用于多种模型.在神经网络中,对外部环境提供的模式样本进行学习训练,并能存储这种模式,则称为感知器;对外部环境有适应能力,能自动提取外部环境变化特征,则 ...

  10. WPF向系统发送消息 并传递结构体

    场景 :需要开发一个通讯组件 流程为:界面-开启接收服务-通过发送组件发送信息到 其他客户端和服务端 接受服务接收其他客户端发送的消息 需要传递给对应组件或者界面 因此会出现类库重复引用问题.因为采用 ...