当前位置:  开发笔记 > 编程语言 > 正文

如何提高java中GC调用的速度?

如何解决《如何提高java中GC调用的速度?》经验,为你挑选了1个好方法。

如何提高java中GC调用的速度?是否有任何JVM参数来调整GC调用的速率?

谢谢!!



1> Chris Dennet..:

如果更改GC暂停时间,则应更频繁地进行垃圾收集.这可能对某些时间关键应用程序很有用,在这些应用程序中,即使可能有更多集合,您也需要尽可能长时间地使用垃圾收集.-XpauseTarget应该将此作为VM参数.这里的最小值是10毫秒.不要打电话System.gc().根据您调用它的位置,您可能会使您的应用程序效率极低.

最好的想法是简单地优化您的应用程序以使用更少的对象.您可以使用JDK附带的JVisualVM等工具在运行时检查您的应用程序并找出问题所在,并查看垃圾收集信息.

您也可以尝试不同的垃圾收集器.我使用以下内容,它在某些应用程序中帮助我,比如说内存使用比CPU时间更重要(尽管这里有一些无用的选项 - 只需将它们清除掉):

-Xincgc
-XX:+CMSIncrementalPacing
-XX:+UseAdaptiveSizePolicy
-XX:+AggressiveOpts
-XX:+ExplicitGCInvokesConcurrent
-XX:+UnlockExperimentalVMOptions
-XX:+UseConcMarkSweepGC
-XX:UseSSE=3
-XX:+UseParNewGC
-XX:SurvivorRatio=2
-XX:NewRatio=8
-XX:+DoEscapeAnalysis
-XX:+UseFastAccessorMethods
-XX:+ForceTimeHighResolution
-XX:+UseTLAB
-XX:+ResizeTLAB
-XX:MaxGCPauseMillis=10
-XX:ParallelGCThreads=8
-XX:+CMSParallelRemarkEnabled
-XX:+DisableExplicitGC
-XX:+UseAdaptiveGCBoundary
-XX:-UseGCOverheadLimit
-Xnoclassgc
-server
-Xss128k
-Xms1g
-Xmx1g

推荐阅读
郑谊099_448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有