当前位置: 首页 > 知识库问答 >
问题:

不提供Xms JVM参数的缺点是什么?

凤修筠
2023-03-14

我正在寻找一种策略来调整我正在运行的应用程序的JVM参数。

该应用程序本身是一个网络应用程序,大多数时候不做太多事情,也不需要太多内存。假设300MB。时不时地,外部的一些东西会触发大量的繁重处理,偶尔需要更多内存。假设1400 MB。

我在JDK 15上运行,没有任何其他JVM参数在kubernetes集群中的pod上。

我想:

  • 确保我的应用程序持续运行
  • 确保我的应用程序从底层系统占用的内存不会比保持其运行所需的内存多得多

在查找答案时,经常弹出的建议是设置Xmx参数。我理解为什么,这对我来说很有意义。

但是还有一个常见的建议让我感到困惑。它也设置Xms参数,并将其设置为等于Xmx参数。

在过去的几周里,我设置了这两个参数,并将它们平均配置为1400M。

  • 顶部的蓝线是底层系统上总共保留了多少内存(其他堆)
  • 它下面的黄色直线是JVM实际为堆保留/提交的内存量
  • 底部的紫色线表示当前实际使用的堆内存量

我得出的结论是,一切运行顺利,看起来可以预测。我不喜欢的是JVM在任何时候都保留1400MB内存(这正是我假设的Xms参数),永久占用基础系统的2.2GB。

让我们看看当我删除Xms参数并仅将Xmx设置为1400时会发生什么:

在这里,您可以更清楚地看到应用程序的典型行为。JVM为堆保留/提交的内存量取决于实际使用的内存量。它大部分时间都很低,在处理繁重的时刻会爬升和下降。

我的问题是:为什么我要设置Xms参数?没有它的行为看起来更有效率。我错过了什么缺点吗?

共有1个答案

饶铭
2023-03-14

如果其他应用程序保留了太多内存,那么在下一个峰值期间,您的应用程序将没有足够的内存。

如果保留大小不变,管理员可以更好地估计内存使用情况。

立即保留的内存很可能不会那么零碎。

但是设置Xms参数有一个缺点(除了明显的缺点):垃圾回收器在开始收集之前等待的时间更长。垃圾回收机制开销更少,但更重。在这种情况下,CPU性能不太稳定。在某些情况下,它会导致世界停止暂停(例如,如果您有大量RAM但CPU较弱)

 类似资料:
  • 问题内容: 偏见的定义是什么: 当max超过2 ^ 32时,mt_rand()返回值的分布在PHP的64位版本上偏向偶数。 如果这是替代四舍五入规则中的那种偏见,我认为这并不重要(因为这种偏见并不明显)。 除了被宣称是比快四倍,只是在前面增加3个字符! 假设可用,那么使用它的缺点是什么? 问题答案: 使用梅森倍捻机算法,这远远优于LCG通常使用的。例如,LCG 的周期仅为 2 32,而mt_ran

  • 问题内容: 只是想知道TreeSet的优缺点是什么,是否有人可以告诉我?谢谢! 问题答案: 收藏类之一。它使您可以按键或按键顺序访问集合中的元素。它比ArrayList或HashMap具有更多的开销。当您不需要顺序访问时,只需按键查找即可使用HashSet。使用ArrayList并使用Arrays。如果只想按顺序排列元素,则排序。TreeSet始终保持元素顺序。使用ArrayList,您可以在需要

  • 问题内容: 我在本地WAMP机器上开发了一个小型CMS。 将项目导出到主机后,将出现以下问题 警告:mysql_fetch_assoc():提供的参数不是/homepages/36/d288053636/htdocs/MYWEBSITE/admin/index.php在第44行上的有效MySQL结果资源 警告:无法修改标头信息-已在/ homepages / 36 / d288053636 / h

  • 问题内容: 我正在寻找提高某些SQL性能的方法,当前CTE正在脚本中多次使用和引用。我会使用表变量来获得改进吗?(因为代码在函数内,所以不能使用临时表)。 问题答案: 您实际上必须进行性能测试-没有“是/否”答案。根据安迪·利文(Andy Living)上面链接到的文章,CTE只是查询或子查询的简写。 如果您在同一函数中两次或多次调用它,则填充表变量然后加入该表变量或从中选择表变量可能会获得更好的

  • 问题内容: 该文档声称: 和 除了速度略有降低之外,在所有属性中使用doc值还有哪些弊端? 谢谢! 问题答案: 趋势是尽可能使用它,因为它们的性能比现场数据越来越高(尤其是自ES 1.4开始)。目前的缺点之一是您不能将它们与已分析的字符串字段和布尔字段一起使用。另一个缺点是,如果您仍在使用方面,请分别说。Kibana 3,因为两者都没有利用doc值,但是您可以分别迁移到聚合。升级到Kibana 4

  • 本文向大家介绍iframe是什么?有什么缺点?相关面试题,主要包含被问及iframe是什么?有什么缺点?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 定义:iframe元素会创建包含另一个文档的内联框架 提示:可以将提示文字放在之间,来提示某些不支持iframe的浏览器 缺点: 会阻塞主页面的onload事件 搜索引擎无法解读这种页面,不利于SEO iframe和主页面共享连接池,而浏览