关于新生代内存伊甸园区和幸存者区比例问题
先把JVM内存初始分配为600M,最大也为600M,一下测试都在此基础运行,命令如下,测试复制添加即可
-Xms600m -Xmx600m
我们直接运行程序,用java/bin/javaVisual默认工具查看内存使用情况,如果第一次使用需要添加GC插件,不然没这个选项
参数中添加下面
-XX:SurvivorRatio=8
再看下
这时才是真正的8:1:1
相关代码
public static void main(String[] args) throws Exception {long l = Runtime.getRuntime().totalMemory() / 1024 / 1024;System.out.println(l + "M");long l1 = Runtime.getRuntime().maxMemory() / 1024 / 1024;System.out.println(l1 + "M");Thread.sleep(100000000000000000L);
}
关于运行后有一部分没法用的情况,输出参数:
这个是因为新生代采用的是复制算法,复制算法是吧空间一分为二,相对来说有一部分永远无法使用,故这里没加上这个空间。
关于新生代内存伊甸园区和幸存者区比例问题相关推荐
- 为什么新生代内存需要有两个Survivor区
在我的上一篇博客中,介绍了JVM堆内存的结构以及在堆中进行的GC机制,链接是浅谈JAVA GC机制与性能优化 那么,在JVM的新生代内存中,为什么除了Eden区,还要设置两个Survivor区? 1 ...
- JVM区域各个区的讲解 Eden Space(伊甸园)、Survivor Space(幸存者区)、Tenured Gen(老年代-养老区)...
JVM区域总体分两类,heap区和非heap区.heap区又分:Eden Space(伊甸园).Survivor Space(幸存者区).Tenured Gen(老年代-养老区). 非heap区又分: ...
- JVM内存结构--新生代及新生代里的两个Survivor区(下一轮S0与S1交换角色,如此循环往复)、常见调优参数
转自http://www.cnblogs.com/duanxz/p/6076662.html 一.为什么会有年轻代 我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以, ...
- java eden s0 s1_JVM内存结构--新生代及新生代里的两个Survivor区(下一轮S0与S1交换角色,如此循环往复)、常见调优参数...
一.为什么会有年轻代 我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能.你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我 ...
- JVM内存新生代Eden区和Survivor区的比例是多少?
JVM内存新生代Eden区和Survivor区的默认比例是8:1:1.其中,Eden区占用80%,Survivor区占用20%,并且划分为大小相同的两部分,这样划分的原因是为了解决内存碎片的问题.
- JVM入门(位置、体系结构、类加载器、双亲委派机制、沙箱安全机制、Native、PC寄存器、方法区、堆(新生区{伊甸园区、幸存区}、养老区、永久区)、OOM、GC算法、JMM)
目录 一.JVM的位置 二.JVM的体系结构 三.类加载器 1.类加载器举例 2. JVM中提供了三层的ClassLoader 3. 双亲委派机制(重要) 3.1 工作原理 3.2.优点 四.沙箱安全 ...
- 36.JVM内存分哪几个区,每个区的作用是什么、如和判断一个对象是否存活、java垃圾回收机制、垃圾收集的方法有哪些、java类加载过程、类加载机制、双亲委派、Minor GC和Major GC
36.JVM内存分哪几个区,每个区的作用是什么? 37.如和判断一个对象是否存活?(或者GC对象的判定方法) 38.简述java垃圾回收机制? 39.java中垃圾收集的方法有哪些? 40.java类 ...
- jvm优化技巧,Java堆,old区,Eden区,s0和s1区,老年代,新生代
这里写目录标题 jvm 说明 性能调优案例 jvm 说明 jvm既 Java Virtual Machine,既然是虚拟机,其必有存储空间,且不同的存储空间,存储特定的数据,如图所示: 虚拟机栈:存储 ...
- JVM内存模型——运行时数据区的特点和作用
文章目录 前言 1程序计数器 2本地方法栈 3虚拟机栈 3.1局部变量表 3.2操作数栈 3.3动态连接 3.4返回地址 4方法区 5堆 5.1查看方法区跟堆大小 5.2新生代跟老年代 5.3什么时候 ...
最新文章
- python人脸识别毕业设计-Python基于Dlib的人脸识别系统的实现
- 活体检测很复杂?仅使用opencv就能实现!(附源码)
- spring处理方法返回值的类型
- mysql gtid 5.7_MySQL5.7之GTID复制
- 使用Google Weather API查询天气预报
- java课后习题_【整理】java私塾教程课后习题
- Windows远程桌面的使用(Remote Desktop Connection)
- android 蓝牙各种UUID(转载)
- iis mysql cpu_[译]通过IIS Request Filtering解决SQL Server CPU高的问题
- IntelJIdea 如何修改控制台字体大小和主题
- pku 2251 Dungeon Master
- yii mysql 操作_YII 数据库相关操作
- 【WPF】非UI线程操作UI
- Linux操作系统常用基本命令
- QQ音乐下载器、爬虫
- 【软技能】完全写作指南--演讲幻灯片
- 十四届全国大学生“恩智浦”杯智能汽车竞赛信标组总结(3)
- 我的Python心路历程 第十期 (10.10 股票实战可视化历史趋势)
- 大数据分析案例-对电信客户流失分析预警预测
- Ant Design学习——Mentions
热门文章
- uwsgi django nginx多站点 pyvenv virutalvenv python 3 django 2这些限制下,如何让uwsgi跑起来?...
- 港科夜闻|香港科大研究团队突破性发现罕见肿瘤细胞「间谍」,揭示不为人知的癌细胞...
- word或dword区别
- 【语音识别】基于BP神经网络0到10数字语音识别含Matlab源码
- java实现PDF文件批量加水印
- linux设备acpi表配置,linux ACPI 知识
- nRF52833-peripheral
- jquery的parent()方法
- 腾讯地图展示标记点位及自定义弹框,数据填充,右侧悬浮tab
- 什么是驱动程序 在计算机中有何用途,D驱动器上的Drivers文件夹有什么作用?可以删除吗?...