java中提交内存的确切状态

2024-02-26

我很好奇从 MemoryUsage 类查询值时“提交”内存的确切含义是什么。该类将其解释为“已提交代表保证可供 Java 虚拟机使用的内存量(以字节为单位)”。这是否意味着该内存正在被 jvm 进程使用,并且在被 java 进程释放之前不可用于其他进程,或者是否意味着如果 java 进程尝试分配最多该内存量,它就会成功?我意识到这可能是特定于实现的,但我只对热点感兴趣。


提交的大小是实际分配的内存,使用的大小是用于存储实际数据的大小(当使用〜=提交时,是主要GC的时间,并且可能会增加堆)。最大大小是堆可以增长的硬限制 - 如果不够,JVM 会抛出 OutOfMemoryError。

如果内存被提交,那么它肯定可以被使用。此外,JVM 无法提交更多内存(在现代操作系统上)的唯一情况是硬件虚拟内存不足。

所有这些大小仅告诉您堆区域的大小。 JVM 还有其他内存区域(线程堆栈、JIT 缓存等)。堆区域通常是最大的,这大致对应于进程占用空间。

两个注意事项:

  • 如果提交的大小不适合物理内存,则部分大小将交换到页面文件。这会导致 GC 期间速度大幅减慢,在这种情况下,您可以通过减小堆大小来提高应用程序性能。
  • 某些操作系统允许双重预订内存 - 只要您不尝试使用它,您就可以分配任意数量的内存(忘记了它是哪个操作系统 - 有人填写我)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java中提交内存的确切状态 的相关文章

随机推荐

  • 响应式设计像素与百分比

    我希望有人能提供帮助 我最近在一个知名网站上观看了有关响应式网页设计的视频 我对导师采取的方法感到困惑 他基本上创建了三个样式表 大 中 小 在每个样式表中 他给出了 DIVS 的 PX 宽度 并在必要时交换图像 当然 这种方法是有缺陷的
  • 尝试使用 Jersey 创建 Restful WebService 时出错

    我正在关注this http www vogella com articles REST article html first创建 CRUD RESTful WebService 的教程 这种类型的 WebService 的教程从第 7 段
  • 找不到 css 文件 - ASP.NET Core Web 应用程序

    我已经创建了一个 asp net core Web 应用程序 我从 空 选项开始 并且正在逐步构建它 看来我的 css 文件没有被读取或找到 当我启动应用程序时 我可以看到我的 html 页面看起来不正常 当我在控制台下的 Edge 中使用
  • Rails 使用哪些测试框架? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 Rails 使用哪些单元测试框架 我正在阅读这本书 Pragmatic Programmers Agile Dev with Rails 它展示
  • 在 Rails 中启用自定义格式化程序

    我为 Rails 编写了一个自定义格式化程序 module Logging class GeneralFormatter lt Logger Formatter def call severity time program name mes
  • DialogFragment - 设置初始值并在旋转后保留状态

    我创建了一个对话框片段正在建设和回归警报对话框 from 创建对话框时方法 AlertDialog 包含两个 EditText 视图 我正在设置这两个编辑文本的初始值创建对话框时该方法非常有效 直到我旋转手机并且所有更改都会丢失 恢复为初始
  • Mongodb findOneAndUpdate 函数正在插入新文档

    每当我进行更新 api 调用时 我只需要更新 serviceActiveFlag 状态 更新 api 调用后 我可以看到创建了一个带有空车辆数组的新文档 如下所示 id 59c76073c11d3929148f500f vehicle Ar
  • 应用过滤器时,宽数据表导致scrollx向后滚动

    我能够在我闪亮的应用程序中渲染数据表 但是 只要有宽表 当您对后面的列应用过滤器时 水平滚动条就会回到其初始位置 仅数字列会出现此问题 我想知道是否有一种方法可以禁用基于范围的过滤器 但保留过滤器本身 或者是否有任何其他解决方法可以解决此问
  • Oracle INSERT ALL with SELECT 给出无效规范错误

    我想使用 INSERT ALL 语句将 2 行插入 2 个不同的表中 但如果我想自己插入值 下面的查询就可以正常工作 insert all into REGIONS values 5 Africa into JOBS values ZZZZ
  • Bootstrap-datetimepicker - 动态添加显示在错误的区域

    所以通过ajax写入DB之后 我的成功函数 构建一个元素并将其附加到表中 然后 将其附加到表后 它会在新附加的行上调用日期时间选择器 然而 日期时间选择器 日历 显示在完全奇怪的地方 请参阅屏幕截图 我应该提到的一件事是这些注释位于选项卡窗
  • Pandas - 替换列值

    我知道这个问题有很多主题 但没有一种方法对我有用 所以我发布了我的具体情况 我有一个如下所示的数据框 data pd DataFrame 1 0 0 1 1 0 0 1 columns sex split data sex replace
  • 将linux的.so文件转换为windows的.dll文件

    我有一些 C 代码 具有各种头文件和 make 文件 编译为 soLinux Ubuntu 中的文件和python使用以下方式调用此共享对象的函数的程序Ctypes 现在 我想在 Windows 上使用这个程序 在窗户里 Ctypes需要一
  • 在 WPF 中的组合框顶部有一个可单击的按钮

    我可以在组合框的下拉列表中显示一个按钮并可单击 但无法让选定的组合框项目 下拉列表已关闭 使该按钮可单击 它总是跳过按钮单击并仅打开下拉列表 我基本上希望我设置的 Button Click 事件处理程序在单击后被调用 这是我的示例组合框 它
  • Yii2 如何将 SUM SQL 函数转换为查询生成器?

    我有这个简单的 SQL 查询 SELECT product name SUM product amount FROM orders GROUP BY product name 它将显示一个包含产品名称及其数量的列表 就像这个例子 我想将其转
  • Markdown 创建页面和目录?

    我开始用markdown来做笔记 I use marked查看我的 Markdown 笔记 它很漂亮 但随着我的笔记变得越来越长 我发现很难找到我想要的东西 我知道 Markdown 可以创建表格 但是它是否能够创建目录 跳转到部分或在 M
  • 对最后 X 秒内收到的值的平均值进行采样

    我有一个调度成功和失败事件的类 我需要维护该类最后 X 秒内的平均失败数 事件总数的统计数据 我正在考虑使用循环链表并为每个事件附加成功或失败节点 然后计算列表中故障节点的数量与总节点数 但这有两个主要缺点 我需要不断地放大 缩小列表大小
  • PyQt4 创建简单 GUI 应用程序时遇到问题

    所以我正在使用 Python 和 PyQt4 创建一个简单的 Windows 应用程序 我在 QtCreator 中按照我想要的方式设计了 UI 并从 ui 文件创建了必要的 py 文件 然而 当我尝试实际打开窗口的实例时 出现以下错误 A
  • Angular 2:将数据传递给路由?

    我正在开发这个 angular2 项目 我正在使用ROUTER DIRECTIVES从一个组件导航到另一组件 有 2 个组件 IE PagesComponent DesignerComponent 我想从页面组件导航到设计组件 到目前为止
  • 在用户界面和控制台应用程序中使用 Task.Yield() 之间的区别

    我试图异步显示一个进度表单 表明应用程序正在运行 而实际应用程序正在运行 如下这个问题 https stackoverflow com questions 33406939 async showdialog 我有以下内容 主要形式 publ
  • java中提交内存的确切状态

    我很好奇从 MemoryUsage 类查询值时 提交 内存的确切含义是什么 该类将其解释为 已提交代表保证可供 Java 虚拟机使用的内存量 以字节为单位 这是否意味着该内存正在被 jvm 进程使用 并且在被 java 进程释放之前不可用于