当前位置:首页 > 科技  > 软件

Java并行GC的使用和调优

来源: 责编: 时间:2023-10-13 14:33:08 190观看
导读并行垃圾收集器(Parallel GC、并行GC)是在多核CPU环境下的一种JVM垃圾收集算法,它可以在多个线程内并行执行垃圾收集功能,从而减少长时间GC对应用系统造成的影响。下面主要介绍关于并行GC的使用和调优相关内容。在什么时

并行垃圾收集器(Parallel GC、并行GC)是在多核CPU环境下的一种JVM垃圾收集算法,它可以在多个线程内并行执行垃圾收集功能,从而减少长时间GC对应用系统造成的影响。BST28资讯网——每日最新资讯28at.com

下面主要介绍关于并行GC的使用和调优相关内容。BST28资讯网——每日最新资讯28at.com

BST28资讯网——每日最新资讯28at.com

在什么时候使用并行GC

如果应用存在以下要求,那么就可以考虑使用Parallel GC:BST28资讯网——每日最新资讯28at.com

  • 侧重吞吐量:如果应用程序对事务吞吐量要求很高,并且可以容忍长时间执行垃圾收集,那么并行GC可能就是一个合适的选择。它主要通过允许垃圾收集与应用程序执行同时执行来优化吞吐量。
  • 批量处理任务:应用程序如果涉及到批处理或者数据分析的任务,可以考虑使用并行GC。这些类型的应用程序经常执行大量的计算,并行GC有助于最小化垃圾收集过程对应用程序总体处理时间产生的影响。
  • 中等以上堆内存:并行GC非常适合具有中等堆到较大堆的应用程序。如果应用程序需要大量堆来满足其内存需求,并行GC可以有效地管理内存并减少垃圾收集对应用程序的影响。

如何配置启用并行GC

可以在启动Java应用程序时传递以下参数,以启动并行GC(Parallel GC):BST28资讯网——每日最新资讯28at.com

-XX:+UseParallelGC

这个JVM参数指的是JVM使用并行GC算法进行垃圾收集。但需要注意的是,在Java 8之前的JVM版本,不需要显式地指定垃圾收集算法,所有服务类JVM的默认垃圾收集器都是ParallelGC。BST28资讯网——每日最新资讯28at.com

在Java 并行GC调优方面,下面介绍几个用于控制垃圾收集过程的关键JVM参数。包括:Heap和generation的大小参数、GC吞吐量相关参数、其他参数。BST28资讯网——每日最新资讯28at.com

1.Heap和generation的大小参数  

并行GC的调优涉及到整个堆的大小与年轻代和老代的大小之间的平衡。虽然较大的堆通常会提高吞吐量,但它也会导致执行GC期间消耗更长的时间。因此,找到“堆”和“代”的最佳大小至关重要。下面这些JVM参数支持调整堆大小和生成大小,以实现最佳GC配置。BST28资讯网——每日最新资讯28at.com

(1) -XmxBST28资讯网——每日最新资讯28at.com

-Xmx

这个参数设置了最大堆大小,它设置了内存分配的上限。通过仔细评估并选择恰当的-Xmx值,可以控制整个堆的大小使得应用程序的可用内存和GC性能之间更加平衡。BST28资讯网——每日最新资讯28at.com

(2) -XX:NewSize 、-XX:MaxNewSize、-XX:NewRatioBST28资讯网——每日最新资讯28at.com

-XX:NewSize -XX:MaxNewSize-XX:NewRatio

这几个参数决定了分配新对象的Young Generation的大小。-XX:NewSize设置初始大小,而-XX:MaxNewSize用于控制内存上限,-XX:NewRatio用于配置年轻代和终身代之间的比率。通过这些值可以微调年轻代的大小和比例。BST28资讯网——每日最新资讯28at.com

(3) -XX:YoungGenerationSizeIncrementBST28资讯网——每日最新资讯28at.com

-XX:TenuredGenerationSizeIncrementBST28资讯网——每日最新资讯28at.com

-XX:YoungGenerationSizeIncrement-XX:TenuredGenerationSizeIncrement

这两个参数分别定义了年轻代和持久代的内存增量大小。年轻代和持久代的大小增量是内存分配和垃圾收集行为中的关键因素。增长和收缩是以不同的速度进行的。默认情况下以20%的增量增长,以5%的增量收缩。增长的百分比由参数-XX:YoungGeneratinotallow=<Y>和-XX:TenuredGeneratinotallow=<T>进行配置。BST28资讯网——每日最新资讯28at.com

(4) -XX:AdaptiveSizeDecrementScaleFactorBST28资讯网——每日最新资讯28at.com

-XX:AdaptiveSizeDecrementScaleFactor

这个参数用于设置在收缩期间递减的比例因子。根据参数-XX:AdaptiveSizeDecrementScaleFactor=<D>调整收缩的比例。如果增长增量为X%,则收缩的减少量为X/D%。BST28资讯网——每日最新资讯28at.com

BST28资讯网——每日最新资讯28at.com

2.GC吞吐量相关的参数调优

为了实现垃圾收集最佳性能,控制GC暂停时间和优化GC吞吐量至关重要,GC吞吐量一般用“专门用于垃圾收集的时间量”与“应用程序执行时间量”的比例表示。以下是几个基于GC吞吐量的调优参数。BST28资讯网——每日最新资讯28at.com

(1) -XX:MaxGCPauseMillisBST28资讯网——每日最新资讯28at.com

-XX:MaxGCPauseMillis

这个参数允许开发人员指定垃圾收集所需的最大暂停时间(以毫秒为单位)。通过设置一个适当的值,开发人员可以调节GC暂停的时长,确保在可接受的范围内。 BST28资讯网——每日最新资讯28at.com

(2) -XX:GCTimeRatioBST28资讯网——每日最新资讯28at.com

-XX:GCTimeRatio

这个参数使用公式1 /(1 + N)设置垃圾收集时间与应用程序时间的比率,其中N是正整数值。目的是定义垃圾收集所需的时间与应用程序执行时间的占比,以优化GC吞吐量。例如,-XX:GCTimeRatio=19。使用该配置的目标是将总应用程序执行时间的1/20或5%分配给垃圾收集。这意味着对于每20个时间单位(毫秒),在垃圾收集和应用执行总体时间的大约19毫秒中,大约有1个时间单位的时间将被分配给垃圾收集过程,而剩余的19个时间单位将专门用于应用的执行。这个参数默认值为99,意味着垃圾收集的目标时间为1%。BST28资讯网——每日最新资讯28at.com

(3) -XX:GCTimePercentageBST28资讯网——每日最新资讯28at.com

-XX:GCTimePercentage

BST28资讯网——每日最新资讯28at.com

这个参数更加直接,开发人员可以通过这个参数直接分配垃圾收集的时间与应用执行时间的期望百分比(GC吞吐量)。例如:设置“-XX:GCTimePercentage=5”表示分配总时间的5%用于垃圾收集,剩余的95%用于应用程序执行。 BST28资讯网——每日最新资讯28at.com

总之,‘-XX:GCTimeRatio‘或‘-XX:GCTimePercentage‘这两个参数都可以灵活地表示垃圾收集所需的时间。相比之下,使用“-XX:GCTimePercentage”比“-XX:GCTimeRatio”更加好理解。BST28资讯网——每日最新资讯28at.com

BST28资讯网——每日最新资讯28at.com

3.其他参数

 除前面几个JVM参数之外,还有一些其他参数也可用于调优并行GC算法的性能。BST28资讯网——每日最新资讯28at.com

(1) -XX:ParallelGCThreadsBST28资讯网——每日最新资讯28at.com

-XX:ParallelGCThreads

这个参数允许开发人员指定并行GC算法中用于垃圾收集的线程数。通过基于当前CPU可用的内核数设置适当的值,充分利用多核系统的处理能力来优化吞吐量。线程太少或太多都不利于资源平衡,都可能导致性能不佳。BST28资讯网——每日最新资讯28at.com

(2) -XX:-UseAdaptiveSizePolicyBST28资讯网——每日最新资讯28at.com

-XX:-UseAdaptiveSizePolicy

这个参数允许根据应用程序对内存的需求动态调整年轻代和老年代的大小。默认情况下,“UseAdaptiveSizePolicy”处于启用状态。BST28资讯网——每日最新资讯28at.com

启用:-XX:+UseAdaptiveSizePolicy关闭:-XX:-UseAdaptiveSizePolicy

BST28资讯网——每日最新资讯28at.com

然而,默认情况下这个参数会根据应用程序对内存的需求动态调整年轻代和老年代的大小。动态调整可能导致频繁的“Full GC”,增加了GC时间。为了减少这类问题,我们可以通过设置-XX:-UseAdaptiveSizePolicy参数来禁用它,并减少GC时间。BST28资讯网——每日最新资讯28at.com

BST28资讯网——每日最新资讯28at.com

执行并行GC调优

如果需要了解并行GC的性能,最好的方式是通过分析GC日志。GC日志包含了垃圾收集事件、内存使用情况以及其他相关的指标详细信息。BST28资讯网——每日最新资讯28at.com

BST28资讯网——每日最新资讯28at.com

以下几个工具可以帮助分析GC日志:BST28资讯网——每日最新资讯28at.com

  • GCey
  • IBM GC
  • Memory Visualizer
  • HP Jmeter
  • Google Garbage Cat

通过使用这些工具,可以让内存的分配更加直观,能够识别潜在的瓶颈,并评估垃圾收集的效率。为并行GC的调优提供依据。BST28资讯网——每日最新资讯28at.com

BST28资讯网——每日最新资讯28at.com

总之

通过调整堆的大小、代的大小和GC吞吐量相关参数等,可以优化垃圾收集过程,最大限度地提高内存利用率,最大限度地减少GC时长,提高Java应用程序的垃圾收集并效率,并释放Java应用程序的潜力。另外,对应用程序执行过程进行持续监控、分析和优化,是保持应用程序处于最佳性能的重要诀窍。BST28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-13241-0.htmlJava并行GC的使用和调优

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 十个提高VS Code工作效率的技巧

下一篇: 通过这个技术,浏览器可以运行Node.js、Rust、Python、PHP、C++、Java代码了!

标签:
  • 热门焦点
  • 把LangChain跑起来的三个方法

    把LangChain跑起来的三个方法

    使用LangChain开发LLM应用时,需要机器进行GLM部署,好多同学第一步就被劝退了,那么如何绕过这个步骤先学习LLM模型的应用,对Langchain进行快速上手?本片讲解3个把LangChain跑起来
  • 一文看懂为苹果Vision Pro开发应用程序

    一文看懂为苹果Vision Pro开发应用程序

    译者 | 布加迪审校 | 重楼苹果的Vision Pro是一款混合现实(MR)头戴设备。Vision Pro结合了虚拟现实(VR)和增强现实(AR)的沉浸感。其高分辨率显示屏、先进的传感器和强大的处理能力
  • 一篇文章带你了解 CSS 属性选择器

    一篇文章带你了解 CSS 属性选择器

    属性选择器对带有指定属性的 HTML 元素设置样式。可以为拥有指定属性的 HTML 元素设置样式,而不仅限于 class 和 id 属性。一、了解属性选择器CSS属性选择器提供了一种简单而
  • 华为HarmonyOS 4.0将于8月4日发布 或搭载AI大模型技术

    华为HarmonyOS 4.0将于8月4日发布 或搭载AI大模型技术

    华为宣布HarmonyOS4.0将于8月4日正式发布。此前,华为已经针对开发者公布了HarmonyOS4.0,以便于开发者提前进行适配,也因此被曝光出了一些新系统的特性
  • 2纳米决战2025

    2纳米决战2025

    集微网报道 从三强争霸到四雄逐鹿,2nm的厮杀声已然隐约传来。无论是老牌劲旅台积电、三星,还是誓言重回先进制程领先地位的英特尔,甚至初成立不久的新
  • 支持aptX Lossless无损传输 iQOO TWS 1赛道版发布限时优惠价369元

    支持aptX Lossless无损传输 iQOO TWS 1赛道版发布限时优惠价369元

    2023年7月4日,“无损音质,声动人心”iQOO TWS 1正式发布,支持aptX Lossless无损传输,限时优惠价369元。iQOO TWS 1耳机率先支持端到端aptX Lossless无
  • iQOO 11S评测:行业唯一的200W标准版旗舰

    iQOO 11S评测:行业唯一的200W标准版旗舰

    【Techweb评测】去年底,iQOO推出了“电竞旗舰”iQOO 11系列,作为一款性能强机,该机不仅全球首发2K 144Hz E6全感屏,搭载了第二代骁龙8平台及144Hz电竞
  • 微软发布Windows 11新版 引入全新任务栏状态

    微软发布Windows 11新版 引入全新任务栏状态

    近日,微软发布了Windows 11新版,而Build 22563更新主要引入了几周前曝光的平板模式任务栏等,系统更流畅了。更新中,Windows 11加入了专门针对平板优化的任务栏
  • 外交部:美方应停止在网络安全问题上不负责任地指责他国

    外交部:美方应停止在网络安全问题上不负责任地指责他国

      中国外交部今天(16日)举行例行记者会。会上,有记者问,美国情报官员称,他们正在阻拦来自中国以及其他国家的黑客获取相关科研成果。 中方对此有何评论?对此
Top