为什么From/To space的大小几乎变成 0 了呢?

2024-09-07 00:18
文章标签 大小 变成 space 几乎

本文主要是介绍为什么From/To space的大小几乎变成 0 了呢?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章来源

https://hllvm-group.iteye.com/group/topic/39440

一、问题描述

Attaching to process ID 26424, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.231-b11using thread-local object allocation.
Parallel GC with 15 thread(s)Heap Configuration:MinHeapFreeRatio         = 40MaxHeapFreeRatio         = 70MaxHeapSize              = 1073741824 (1024.0MB)NewSize                  = 357564416 (341.0MB)MaxNewSize               = 357564416 (341.0MB)OldSize                  = 716177408 (683.0MB)NewRatio                 = 2SurvivorRatio            = 8MetaspaceSize            = 21807104 (20.796875MB)CompressedClassSpaceSize = 1073741824 (1024.0MB)MaxMetaspaceSize         = 17592186044415 MBG1HeapRegionSize         = 0 (0.0MB)Heap Usage:
PS Young Generation
Eden Space:capacity = 268435456 (256.0MB)used     = 268435456 (256.0MB)free     = 0 (0.0MB)100.0% used
From Space:capacity = 44564480 (42.5MB)used     = 425984 (0.40625MB)free     = 44138496 (42.09375MB)0.9558823529411765% used
To Space:capacity = 44564480 (42.5MB)used     = 0 (0.0MB)free     = 44564480 (42.5MB)0.0% used
PS Old Generationcapacity = 716177408 (683.0MB)used     = 577780552 (551.0144729614258MB)free     = 138396856 (131.98552703857422MB)80.67561829596278% used41099 interned Strings occupying 4972688 bytes.

启动参数是:

-Xms2048m -Xmx2048m -XX:NewSize=256m -XX:PermSize=256m -server -XX:+DisableExplicitGC -verbose:gc -XX:+PrintGCDateStamps -XX:+PrintGCDetails

SurvivorRatio是 8 ,这个时候Eden 也 600多M,为啥From/To 几乎是 0 呢?

Jdk version
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01, mixed mode)

二、解决方法

因为ParallelScavenge GC会动态调整各个区的大小。这个行为叫做adaptive size policy。要禁用的话请用 -XX:-UseAdaptiveSizePolicy 。可以通过 -XX:+PrintAdaptiveSizePolicy 来观察它对各个区的大小的调整。

如果survivor space都几乎变成0了,多半意味着tenuring threshold已经降到1了,也就是说所有eden里活的对象在经历第一次minor GC的时候就会被晋升到old generation。那样的话survivor space就完全没用了,所以会被设置到几乎0。(无法真的完全设置到0大小是实现上的细节…有分区之间有对齐需求)

为啥tenuring threshold会下降,最终降到1?有两种可能:

  1. minor GC耗时比期望的时间长。为了降低minor GC的耗时,降低tenuring threshold来让更多对象晋升,减少留在young generation里的对象
  2. survivor space有溢出

说到底还是创建对象太多太快了

这篇关于为什么From/To space的大小几乎变成 0 了呢?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1143524

相关文章

PDFQFZ高效定制:印章位置、大小随心所欲

前言 在科技编织的快节奏时代,我们不仅追求速度,更追求质量,让每一分努力都转化为生活的甜蜜果实——正是在这样的背景下,一款名为PDFQFZ-PDF的实用软件应运而生,它以其独特的功能和高效的处理能力,在PDF文档处理领域脱颖而出。 它的开发,源自于对现代办公效率提升的迫切需求。在数字化办公日益普及的今天,PDF作为一种跨平台、不易被篡改的文档格式,被广泛应用于合同签署、报告提交、证书打印等各个

【CSS in Depth 2 精译_024】4.2 弹性子元素的大小

当前内容所在位置(可进入专栏查看其他译好的章节内容) 第一章 层叠、优先级与继承(已完结) 1.1 层叠1.2 继承1.3 特殊值1.4 简写属性1.5 CSS 渐进式增强技术1.6 本章小结 第二章 相对单位(已完结) 2.1 相对单位的威力2.2 em 与 rem2.3 告别像素思维2.4 视口的相对单位2.5 无单位的数值与行高2.6 自定义属性2.7 本章小结 第三章 文档流与盒模型(已

Linux下获取硬盘空间的大小

1. df 命令查看所有硬盘设备的信息 2. 查看指定路径的磁盘空间大小 代码获取空间大小案例:

Windows11电脑上自带的画图软件修改照片大小(不裁剪尺寸的情况下)

针对一张图片,有时候上传的图片有大小限制,那么在这种情况下如何修改其大小呢,在不裁剪尺寸的情况下 步骤如下: 1.选定一张图片,右击->打开方式->画图,如下: 第二步:打开图片后,我们可以看到图片的大小为82.1kb,点击上面工具栏的“重设大小和倾斜”进行调整,如下: 第三步:修改水平和垂直的数字,此处我修改为分别都修改为50,然后保存,可以看到大小变成63.5kb,如下:

Oracle 查看表空间名称及大小和删除表空间及数据文件方法

--1、查看表空间的名称及大小  SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size  FROM dba_tablespaces t, dba_data_files d  WHERE t.tablespace_name = d.tablespace_name  GROUP BY t.tablespace_na

俩个float数之间比较大小

需求:俩个标识金额的浮点数比较大小。 问题:相等无法成立。经过var_dump()打印,俩个浮点数数值 一样大。 解决:把标识金额的浮点数乘以100,抓换成整形,在做比较。即可使相等成立

DB2查看指定数据库大小

问题 想要查看DB2所在数据库的大小。 解决 登录服务器 不论是用SSH或者是Telnet登录服务器即可。然后,运行db2命令切换到db2控制台里面。 连接到指定数据库 db2 => connect to aaadbDatabase Connection InformationDatabase server = DB2/AIX64 9.5.4SQL authorizati

如何调整c盘分区大小,怎样把c盘空间调整小些

新买的笔记本电脑回来后发现电脑只分了C盘和D盘两个区,C盘就占了很大的空间,如何调整c盘分区大小,这样可以多腾些空间出来利用呢?虽然Win7有磁盘管理器可以压缩分区实现把C盘调小些,但是它的功能有限,压缩后也是很大一部分空间在C盘浪费,那怎样把c盘空间调整小些呢,下载我们介绍一个工具来完成这些复杂的动作:   1、下载安装分区助手DiskTool中文版。   在主界面上你可以看到C盘有60

CPU大小端字节序的检测

机器的字节序有两种,即大端字节序和小端字节序。 大端字节序:在内存中,低地址存放数据的 高位,高地址存放数据的 低位 小端字节序:在内存中,低地址存放数据的 低位,高地址存放数据的 高位 如例:定义数据  a = 0x01020304 小端方式:01 02 03 04 大端方式:04 03 02 01 那么如何判断呢,方式如下--> 一、 指

div标签变成可编辑

在html页面有很多得方用到<div>标签,开始的时候要想在一个<div>标签中显示一段文本我会先到用<textArea>标签,可是<textArea>标签会随着你的拉动,框的大小也回随着改变,有时会把原来的布局拉动的变得非常难看。 有次在看书,看到div是可以编辑的标签,只要在div标签中加上属性contentEditable=true即可,要想看到div就给div高度和宽度再给个颜色,这样就