美文网首页
Difference in Used, Committed, a

Difference in Used, Committed, a

作者: 专职掏大粪 | 来源:发表于2020-11-24 11:10 被阅读0次

1.概述

在这篇简短的文章中,我们将看到JVM中各种内存大小指标之间的差异。

首先,我们将讨论自适应大小调整的工作原理,然后评估最大,已使用和已提交大小之间的差异。

2.最大尺寸和自适应大小

有两个值控制JVM堆大小:*一个是通过-Xms 标志指定的初始值 ,另一个是由-Xmx *调整标志控制的最大值 **。

如果我们不指定这些标志,那么JVM将为其选择默认值。这些默认值取决于基础操作系统,可用RAM的数量以及JVM实现本身:

初始尺寸

无论实际大小和默认值如何,堆大小都以初始大小开始。当我们分配更多对象时,堆大小可能会增加以适应该情况。但是,堆大小不能超过最大堆大小。

简而言之,最大堆大小是通过-Xmx标志指定的 大小 。另外,当我们未明确指定 -Xmx时,JVM将计算默认的max size

3.使用尺寸

现在,让我们假设自程序启动以来我们分配了一些对象。堆大小可能会增加一点以适应新对象:

已用空间

已用空间是Java对象当前占用的内存量。它始终小于或等于最大大小。

4.承诺的大小

提交的大小是Java虚拟机保证可以使用的内存量。提交的内存大小始终大于或等于已使用的大小。

5.结论

在这篇简短的文章中,我们看到了最大堆,已使用堆和已提交堆大小之间的差异。

参考
https://www.baeldung.com/java-heap-used-committed-max
https://zhanjindong.com/2016/03/02/jvm-memory-tunning-notes

相关文章

网友评论

      本文标题:Difference in Used, Committed, a

      本文链接:https://www.haomeiwen.com/subject/zzfhiktx.html