JAVA虚拟机灵魂之问:Xmx和Xms不一致对虚拟机性能有何影响

2023-11-19

使用jvisualVM查看idea进程,发现其关于堆大小的参数设置如下:

在这里插入图片描述
并发现随着idea加载项目,其实际使用的内存会自动增大:

在这里插入图片描述

加载项目前和加载项目后,堆大小是不一样的,有一个大幅提升的阶段,随着所需要的内存的增多,虚拟机会多次向操作系统申请更多的内存,且会伴随着频繁的垃圾回收。

当然,其申请的内存会介于最小128m最大2g的范围内,超出2g就会报oom。

为什么不一开始就申请2g的内存呢?显然是考虑到资源的按需使用,如果一开始就申请2g的内存,而运行过程中就会有大量的内存长时间被浪费。

不过很多业务系统实际实践会将Xms和Xmx设置为相同大小,即应用一开始就申请满额大小的内存,这主要是考虑到通常在一台服务器上不会布置过多的应用,每个应用占用的内存都是规划好的,不需要动态申请,这样设置的好处是避免临界条件下的垃圾回收和内存申请和分配。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JAVA虚拟机灵魂之问:Xmx和Xms不一致对虚拟机性能有何影响 的相关文章

随机推荐

  • 初始OAuth2.0

    1 什么是OAuth2 0 OAuth2 0 是目前使用非常广泛的授权机制 用于授权第三方应用获取用户的数据 举例说明 用户可以通过选择其他登录方式来使用gitee 这里就使用到了第三方认证 OAuth 引入了一个授权层 用来分离两种不同的
  • vue 修改标题名字

    1 直接修改 在main js中添加 document title 大屏控制 2 根据路由动态改变 https www cnblogs com CinderellaStory p 10858035 html
  • iPhone苹果15手机怎么看是国行还是美版或港版的苹果iPhone15手机?

    iPhone苹果手机15机型区域版本识别代码 CH代码为国行 LL代码为美版 ZP代码为港版 iPhone苹果15手机怎么看是国行还是美版或港版的苹果iPhone15手机 1 打开苹果iPhone15手机桌面上的 设置 2 在iPhone苹
  • OWASP ZAP安装遇到Error.A JNI error has occurred ,please check your installation and try again

    问题描述 我当时下载的是兼容版本 下载完成后双击zap bat发现运行一下就闪退 然后运行jar文件就报错 过程 最开始以为是java环境的问题 后面用java version去运行了一下 发现java环境是正常的 但又一直提示java的问
  • 4大技术亮点支撑应用优势 全新一代旗舰型行业无人机千巡翼X4发布

    随着无人机与数字成像技术的发展 无人机航测成为了重要的地理信息采集手段 也越来越受重视 据相关研报数据统计 预计2025年我国实景三维在自然资源领域的 以数据采集 处理为主的直接市场规模预计将达40亿元 推测2025年关联市场规模将达400
  • MFC设置控件文本字体、大小、颜色、背景

    1 修改字体 大小 声明一个CFont类型的类成员变量 CFont m editFont 然后在类的初始化函数OnInitDialog 中添加以下两行代码 设置静态文本字体大小 m editFont CreatePointFont 180
  • MFC编程实验(三):组件(列表框元素的增删)

    一 实验要求 创建一个对话框应用程序 实现如下布局 完成如下功能 1 初始状态 列表中有4个元素 2 可以在编辑框中输入新朋友的名字 点击 添加 按钮添加到列表框 同时清空编辑框中的名字 3 选中列表框中的一个名字 点击 删除 按钮可以删除
  • GDB 简略手册

    杂项 命令 用法 说明 h elp help 显示可用帮助文档 h CMD 显示关于指定命令的帮助 apr opos apr REGEXP 使用正则表达式搜索命令 i nfo info 显示可展示的信息 ENTER 无命令回车 重复执行上一
  • 接口测试总结

    第一部分 主要从问题出发 引入接口测试的相关内容并与前端测试进行简单对比 总结两者之前的区别与联系 但该部分只交代了怎么做和如何做 并没有解释为什么要做 第二部分 主要介绍为什么要做接口测试 并简单总结接口持续集成和接口质量评估相关内容 第
  • 手写系列之--call/apply/bind/防抖/节流

    call call 方法使用一个指定的 this 值和单独给出的一个或多个参数来调用一个函数 语法 function call thisArg arg1 arg2 JavaScript中由于函数的this指向它的直接调用者 我们变更调用者即
  • 1668 最大重复子字符串

    题目描述 给你一个字符串 sequence 如果字符串 word 连续重复 k 次形成的字符串是 sequence 的一个子字符串 那么单词 word 的 重复值为 k 单词 word 的 最大重复值 是单词 word 在 sequence
  • 第48讲 第49讲--动态定位单元格区域1-End属性、动态定位单元格区域2、3-Currentregion UsedRange

    1 单元格区域 EntireRow返回该区域所在的整行对象单元格区域 EntireColumn返回该区域所在的整列 返回单元格所在的整行与整列 返回单元格对象 EntireRow 与EntireColumn Sub 整行与整列 Range
  • 制作一个“生日快乐”App,来自程序员的生日礼物~

    点击上方 码农的后花园 选择 星标 公众号 精选文章 第一时间送达 之前给大家制作了一个来自程序员的表白神器 本期带大家做一个 生日快乐 App 来自程序员的生日礼物 不要再说程序员不懂浪漫咯 往期精彩 Android App 开发的三种姿
  • hibernate 异常

    1 异常 org hibernate AnnotationException No identifier specified for entity异常 entity类是必须要主键的 否则就会报出这个异常 Id GeneratedValue
  • 布隆过滤器的简单介绍与实例(Bloom Filter)

    转载https blog csdn net leeafay article details 78681534 布隆在1970年提出了布隆过滤器 Bloom Filter 是一个很长的二进制向量 可以想象成一个序列 和一系列随机映射函数 ha
  • TensorFlow.js - 使用 CNN(卷积神经网络) 识别手写数字

    目录 index html data js script js 备注 参考文献 index html
  • ChatGPT是免费的吗?

    ChatGPT并非由单个实体或公司所拥有和控制 而是由OpenAI推出和维护的人工智能技术 其可以被免费使用 OpenAI提供API服务和开发者工具 可以让开发者和用户将ChatGPT集成到自己的应用程序中 虽然使用ChatGPT本身是免费
  • Nginx配置整合:基本概念、命令、反向代理、负载均衡、动静分离、高可用

    一 基本概念 1 什么是Nginx Nginx是一个高性能的HTTP和反向代理服务器 也是一个IMAP POP3 SMTP代理server 其特点是占有内存少 并发能力强 其并发能力确实在同类型的网页server中表现较好 http服务器
  • 飞腾D2000 UOS下安装KVM虚拟机

    其他的和x86环境都差不多 开了开发者模式后 virt manager qemu efi aarch64 qemu system 几个包补齐 启动libvirtd服务 查看日志 报以下日志 4月 09 21 13 34 actionchen
  • JAVA虚拟机灵魂之问:Xmx和Xms不一致对虚拟机性能有何影响

    使用jvisualVM查看idea进程 发现其关于堆大小的参数设置如下 并发现随着idea加载项目 其实际使用的内存会自动增大 加载项目前和加载项目后 堆大小是不一样的 有一个大幅提升的阶段 随着所需要的内存的增多 虚拟机会多次向操作系统申