测试串行回收与堆初始值有关系02
我把堆的最大的内存改大一点,改到512M,你们可以看看效果,堆的最大内存改成512,你们说一下,我把堆的最大值改成512,但是初始值还是32M,那启动的时候垃圾回收次数至少几次,猜也猜得出来,刚才我们有几次,可以思考一下,6次是不是,那这时候至少是在5,6次左右的样子,我说过的,垃圾回收次数和最大的堆内存没有关系,是和你的初始值有关系的,在我申请内存的情况下,慢慢地去申请内存,所以刚开始和最大内存没有关系的,最大内存主要是做申请内存的,核心是根据初始内存,然后我来运行一遍-XX:+PrintGCDetails -Xmx512M -Xms32M
-XX:+HeapDumpOnOutOfMemoryError
-XX:+UseSerialGC
-XX:PermSize=32M
这个时候我们就可以统计一个道理出来,统计什么道理,最大堆内存改为512M了,但是他的垃圾回收次数,为什么还是没有变呢,这是为什么原因,记住一点,垃圾回收次数和设置堆最大内存无关的,只和堆初始内存大小有关系,这个我们可以知道一下,GC回收次数我们可以统计出来,是6次,吞吐量我们还不知道,我们看一下吞吐量是多少,你们大致可以猜一下,我现在设置512M,范围应该在多少,估算一下,可以去猜,这个没关系的,在多少范围之内,猜错了没关系的,5000左右,你们看效果差不了多少,看效果你们就知道,我们讲一下,我们吞吐量还不知道,这个时候我们怎么办呢,把它清空掉,运行,这个时候有没有做垃圾回收,是不是也有一次,这个时候我再访问一遍,是不是也做了一次GC回收,那么在这边你们看一下效果
还是5141,我们记一下,5141,你们再看一下我们这边的,5114,差别大不大,你们自己说大不大,根本不大,这个时候我们知道一个结论出来,这个堆的初始值非常非常的核心,为什么呢,垃圾回收次数和堆的最大内存大小无关,只和堆的初始大小有关系的,这一点非常非常重要,为什么我之前说非常多的一句话就是,一定要把堆的初始值和最大值要设成一致,初始内存会影响到吞吐量的,初始内存会影响吞吐量
扩大堆的内存
-XX:+PrintGCDetails -Xmx512M -Xms32M
-XX:+HeapDumpOnOutOfMemoryError
-XX:+UseSerialGC
-XX:PermSize=32MGC 回收次数6次 吞吐量5141
结论:垃圾回收次数和设置最大堆内存大小无关,只和初始内存有关系。
初始内存会影响吞吐量。
测试串行回收与堆初始值有关系02相关推荐
- 测试串行回收与堆初始值有关系01
吞吐量到底是什么意思啊,我们开始是实战的做调优了,首先吞吐量是什么意思呢,你们可以找到一个文档,它会专门有一个测试报告,Average是平均响应的时间,响应时间是21秒,我们主要是看这个数字Throu ...
- 从串行线程封闭到对象池、线程池
今天讲一个牛逼而实用的概念,串行线程封闭.对象池是串行线程封闭的典型应用场景:线程池糅合了对象池技术,但核心实现不依赖于对象池,很容易产生误会. 本文从串行线程封闭和对象池入手,最后通过源码分析线程池 ...
- 快速复习51单片机的外部中断、计数/定时器中断和串行口中断,加代码实现
目录 1.中断系统的概念 1.1中断的概念 1.2中断系统的概念 1.3中断系统的优点 1.4我们要说的三种中断源 2.外部中断 2.1 外部中断0 代码示范 2.2 外部中断 分析 3.计数/定时器 ...
- Activiti并行网关和串行网关区别
转载出处来自分享牛http://blog.csdn.net/qq_30739519) Activiti多实例任务有并行.串行区分. 并行代表同时进行,如把任务分给5个人来处理,这5个人同时会收到任务, ...
- php 串行化数据,PHP中的串行化变量和序列化对象
串行化大概就是把一些变量转化成为字符串的字节流的形式,这样比较容易传输.存储.当然,关是传输存储没有什么,关键是变成串的形式以后还能够转化回来,而且能够保持原来数据的结构. 在PHP中有多串行化处理的 ...
- JS Boolean 初始值
JS Boolean 初始值 Boolean 对象如果逻辑对象无初始值或者其值为 0.-0.null."".false.undefined 或者 NaN,那么对象的值为 fals ...
- 垃圾回收器之串行、吞吐量优先、响应时间优先的的垃圾回收器
4. 垃圾回收器 本篇讲述了串行.吞吐量优先.响应时间优先的垃圾回收器,关于自从JDK9 开始默认的 G1 垃圾回收器会在下篇文章讲述. 串行 单线程 堆内存较小,适合个人电脑 吞吐量优先 多线程 堆 ...
- java垃圾回收机制串行_Java垃圾回收机制
Java语言是一门自动内存管理的语言,不再需要的对象可以通过垃圾回收自动进行内存释放. Java运行时内存区域划分 JVM将Java程序运行时内存区域划分成以下几个部分: 程序计数器(Program ...
- 串行测试 并行测试_如何通过CircleCI测试并行性增加构建时间
串行测试 并行测试 by Karel Rochelt 卡雷尔·罗切尔特(Karel Rochelt) 如何通过CircleCI测试并行性增加构建时间 (How to boost build time ...
最新文章
- 第四周项目五-用递归方法求解(求1*3*5*...*n的递归式)
- 寄存器(内存访问)---汇编学习笔记
- Dockerfile构建nginx镜像
- 常见的 Error 和 Exception
- python多线程详解_Python多线程详解
- 加速前进!华为已在全球多地注册“鸿蒙”商标
- [SDOI2011]工作安排 BZOJ2245
- stm32f103振镜_基于振镜扫描的生物芯片荧光信号光强校正
- httpd2.4.9主配置文件参数详解
- 「随机化快排」期望运行时间证明
- 口袋奇兵:在线翻译场景试点 Serverless 技术历程
- 《动手学深度学习》(PyTorch版)代码注释 - 3 【Softmaxs_regression_with_zero】
- SAS9.4更新sid,有效期至2022年11月30日
- 宣传文本html,优秀的宣传语(精选50句)
- Java面试题——基础篇二
- 神经网络的编程基础(转自吴恩达)
- activiti的initiator用法
- 微信小程序实现身份证识别功能
- 大学计算机实验六文件管理与磁盘恢复,虚拟实验:文件管理与磁盘恢复.pdf
- 矩阵压缩降维动态规划递推【P1719 最大加权矩形】