我从许多文献中读到,建议将-Xms和-Xmx设置为相同的值。但是没有给出任何原因。

在生产环境中,如果监视GC数据,您会注意到这是相对较短的时间段(通常少于一小时),JVM最终会将堆大小增加到-Xmx设置。每次JVM增加堆大小时,它都必须向操作系统请求额外的内存,这会花费一些时间(因此会增加GC命中时正在处理的所有请求的响应时间)。通常,JVM永远不会放过那种记忆。因此,由于JVM最终将获取-Xmx内存,因此您最好在开始时将其设置为该内存。

另一点是,使用较小的堆大小(以-Xms开头),GC将更频繁地发生。因此,从较大的堆开始,GC发生的频率就不会那么高。

最后,在生产环境中,通常每个操作系统(或每个VM)仅运行一个应用程序服务器。因此,由于应用程序服务器不会与其他应用程序竞争内存,因此您最好预先为其分配内存。

请注意,以上内容仅供生产。它也适用于系统测试环境,因为系统测试环境应尽可能模拟生产。

对于开发,使-Xms和-Xmx不同。通常,您在开发中的应用服务器不需要做很多工作,因此它通常会保留-Xms堆设置。此外,由于在开发过程中,应用服务器将与许多其他应用(邮件客户端,文字处理器,IDE,数据库,浏览器等)共享计算机,因此将-Xms设置为较小的大小可以使应用服务器与也在争夺相同资源的其他软件。

为什么将-Xms和-Xmx设置为相同的值?相关推荐

  1. JVM中-Xms和-Xmx设置相同的好处

    概念解释: -Xms: 初始堆大小 默认物理内存的 1/64(小于1GB) 空余堆大小小于 40% 时,JVM就会增大堆直到 -Xmx 的最大限制-Xmx: -Xmx 最大堆大小 默认物理内存的 1/ ...

  2. java xms xmx 设置_JVM 堆内存设置 -Xmx -Xms

    在Tomcat的启动参数里可以设置,如下 参数说明: -Xmx Java Heap最大值,默认值为物理内存的1/4,最佳设值应该视物理内存大小及计算机内其他内存开销而定: -Xmx 此设置控制 Jav ...

  3. 开发经验(三):堆栈内存设置Xms、Xmx、Permsize、MaxPermsize

    文章目录 一.概念扫盲 二.使用技巧 1)开发环境 2)生产环境 三.结论 一.概念扫盲 弄明白Xms.Xmx.Permsize.MaxPermsize这几个名词的设置,就不得不先弄明白Java程序运 ...

  4. java xms xmx 设置_java 虚拟机设置 Xms Xmx PermSize MaxPermSize

    Eclipse崩溃,错误提示: MyEclipse has detected that less than 5% of the 64MB of Perm Gen (Non-heap memory) s ...

  5. JVM XMX设置多大比较好,Docke容器里该怎么设置JVM呢@无界编程

    XMX是JVM的最大堆内存大小,XMS是JVM的初始堆内存大小. 不管是工作还是面试经常遇到一个问题就是XMX到底设置多大比较好? 网上的答案大多是说XMX和XMS设置为一样大,但是没有说到底XMX设 ...

  6. java 启动xms_关于java:启动JVM时-Xms和-Xmx参数是什么?

    本问题已经有最佳答案,请猛点这里访问. 请解释在JVM中使用Xms和Xmx参数.它们的默认值是什么? 当使用-Xmx128m -Xms64m时,它可以在EDOCX1和1ΩRES MEM附近高峰期,但是 ...

  7. Java –什么是-Xms和-Xmx参数?

    在Java中, -Xms设置初始Java堆大小,而-Xmx设置最大Java堆大小. 1.一些java -Xms -Xmx示例: # Start with 128MB of memory, and al ...

  8. Java 参数 Xms 和 Xmx

    根据Java虚拟机规范的规定,Java堆可以处于物理上不连续的内存空间中,只要逻辑上是连续的即可,就像我们的磁盘空间一样.在实现时,既可以实现成固定大小的,也可以是可扩展的.不过当前主流的虚拟的虚拟机 ...

  9. java tomcat xms_配置tomcat服务器内存大小中的Xms、Xmx、PermSize、MaxPermSize 详解

    JVM按照其存储数据的内容将所需内存分配为堆区与非堆区两个部分: 所谓堆区即为通过new的方式创建的对象(类实例)所占用的内存空间, 堆是运行时数据区域: 非堆区即为代码.常量.外部访问(如文件访问流 ...

最新文章

  1. 常见问题:内存,循环引用,runloop的简单理解
  2. 编程珠玑第八章——分治算法求解数组中的最大的连续和
  3. java web开发小记(6)将int类型的list插入到mysql数据库
  4. RocketMQ 事务消息
  5. jq设置html的fontsize,Jquery 设置字体大小(font-size)与行高(line-height)
  6. flask 中文编码解码
  7. Haystack全文搜索
  8. Linux进程间通信(信号量)
  9. k2p拆机ttl刷breed_最新k2p 22.10.3.42;22.10.3.38和k2 22.6.532.231拆机ttl刷breed图文教程
  10. 关于Android import-module 和NDK_MODULE_PATH
  11. Java经典代码工具类
  12. Python|range函数用法完全解读
  13. 辽宁启迪电商:拼多多提升店铺流量的几个技巧
  14. 道德网安-菜鸟免杀教程
  15. Vcenter无法开启EVC,显示主机的CPU硬件不支持
  16. #布鞋院士#李小文的牛掰论文《定量遥感的发展与创新》
  17. 记一次脑残的入手nexus 5x
  18. 揭秘深度强化学习-6状态空间过大之神经网络来帮忙
  19. HTML5 和 CSS3 的新特性--HTML5 的新特性
  20. 东莞理工专插本计算机专业,东莞理工学院2021专插本专业,必看!专插本公办最容易录取的专业!是那些专业?...

热门文章

  1. Ubuntu下docker相关问题 - 持续更新中
  2. ZCMU-1720-死亡如风,我要装逼
  3. shui-执行多个window.onload
  4. 【测试与自动化】介绍-框架-Jest-覆盖率-异步代码-e2e-Vue测试
  5. 端到端测试(e2e测试)
  6. html5手机移动端三级联动城市选择器,jquery移动端省市县(区)三级联动插件
  7. 查尔姆斯理工计算机教授,瑞典查尔姆斯理工大学王二刚教授系统评述:供体-受体型三元共轭聚合物实现高效太阳能电池器件构筑...
  8. 大数据处理——Java
  9. Flutter 笔记 | Flutter 布局组件
  10. 2023年华为认证H12-821、H12-831考试指南(包括学习视频和题库)