如何解决JVM空闲堆内存不释放回OS的问题

技术如何解决JVM空闲堆内存不释放回OS的问题今天就跟大家聊聊有关如何解决JVM空闲堆内存不释放回OS的问题,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。JDK

今天就和大家聊聊如何解决JVM的空闲堆内存没有释放回OS的问题,这个问题可能很多人都不太理解。为了让大家更好的了解,边肖为大家总结了以下内容,希望大家能从这篇文章中有所收获。

00-1010在这些版本中,没有直接回收的明确选项,但是您可以通过设置它来使GC通常更具攻击性。此设置-xx3360 gc time ratio=19-xx3360 minheafree ratio=20-xx3360 maxheapfreeratio=30将使其在GC后花费更多的CPU时间来收集和限制已分配但未使用的。循环。

如果使用并发收集器,还可以将-xx: Initiating Heapocupancypercent=nn设置为较低的值,这样GC几乎连续运行并发收集,这将消耗更多的CPU周期,但会更快地收缩堆。这通常不是一个好主意,但在某些类型的计算机上有意义,这些计算机有大量的备用CPU内核,但内存不足。

如果使用的是G1GC,请注意它只使用jdk8u20来获得返回堆中间未使用的块的功能,而早期版本只能返回堆尾的块,这对于可以加载的块数量有很大的限制。撤退。

如果您正在使用的收集器具有默认的暂停时间目标(如CMS或G1),您也可以放宽目标以对收集器施加更少的约束,或者您可以切换并行收集器以优先考虑暂停时间内占用的空间。

要验证是否发生收缩,或者诊断GC决定不收缩的原因,可以使用GC日志记录-Xx : print adaptivesizepolicy来提供见解,例如,当JVM试图为年轻一代使用更多内存来实现某些目标时。

00-1010增加了-xx:-shrinkeapingsteps,可用于更主动地应用上一节提到的选项导致的收缩选项。相关的OpenJDK错误。

对于日志记录,-xx: print adaptivesizepolicy已被-xlog3360 gcergo替换。

00-1010引入了通过G1 periodiccinterval (jep346)为G1GC启用即时内存释放的选项,但代价是一些额外的CPU。JEP还提到了Shenandoah和OpenJ9 VM中的类似功能。

如果您使用G1收集器并偶尔调用System.gc()(我每分钟都会执行一次),Java将可靠地收缩堆并将内存返回给操作系统。

从Java 12开始,如果应用程序处于空闲状态,G1将自动执行此操作。

我建议将这些选项与上述建议结合起来,以实现非常紧凑的常驻流程规模:

-xx: useg1gc-xx3360 max heapfreeratio=30-xx3360 minheafreeratio=10

JDK 8及更早版本

zgc是用13个Java发布的,可以将未使用的堆内存返回给操作系统,请参考链接。

看完以上内容,你对如何解决JVM空闲堆内存不释放回OS的问题有进一步的了解吗?如果您想了解更多知识或相关内容,请关注行业资讯频道,感谢您的支持。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/44216.html

(0)

相关推荐

  • windows自带画图中曲线的使用(如何根据训练的模型绘制roc曲线)

    技术怎么用WindML画个图这篇文章主要为大家展示了“怎么用WindML画个图”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么用WindML画个图”这篇文章吧。用WindM

    攻略 2021年12月22日
  • ios 动态gif制作(ios可以实现动画效果的几种方式)

    技术iOS的GIF动画效果怎么实现本篇文章给大家分享的是有关iOS的GIF动画效果怎么实现,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。GIF在iOS中的使

    攻略 2021年12月18日
  • eclipse怎样配置mybatis(eclipsemybatis插件推荐)

    技术Eclipse的插件MyBatis Editor有什么用这篇文章将为大家详细讲解有关Eclipse的插件MyBatis Editor有什么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所

    攻略 2021年12月15日
  • 狼原文及翻译,文言古诗《狼》的汉语翻译

    技术狼原文及翻译,文言古诗《狼》的汉语翻译有个屠户卖肉回家,天已到傍晚狼原文及翻译。忽然来了一只狼,望着(屠户)担子里的肉,馋得好像要流口水似的,跟着屠户走了好几里。屠户害怕了,把刀拿出来给它看,狼稍稍后退一点,等到屠户

    生活 2021年10月27日
  • oracle序列达到了最大值处理的示例分析

    技术oracle序列达到了最大值处理的示例分析这篇文章主要介绍了oracle序列达到了最大值处理的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。客

    攻略 2021年12月13日
  • 嵌入式Linux系统flash分区设计及文件系统格式选择的示例分析

    技术嵌入式Linux系统flash分区设计及文件系统格式选择的示例分析本篇文章给大家分享的是有关嵌入式Linux系统flash分区设计及文件系统格式选择的示例分析,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇

    攻略 2021年10月21日