温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java设置垃圾回收器的方法以及常见配置汇总

发布时间:2021-09-09 11:47:20 来源:亿速云 阅读:272 作者:chen 栏目:大数据

这篇文章主要介绍“java设置垃圾回收器的方法以及常见配置汇总”,在日常操作中,相信很多人在java设置垃圾回收器的方法以及常见配置汇总问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java设置垃圾回收器的方法以及常见配置汇总”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

-Xms 最小堆的大小, 也就是当你的虚拟机启动后, 就会分配这么大的堆内存给你 
-Xmx 是最大堆的大小 

-XX:NewRatio=4:设置年轻代(包括Eden和两个Survivor区)与年老代的比值(除去持久代)。

-XX:SurvivorRatio=4:设置年轻代中Eden区与Survivor区的大小比值。

-XX:MaxPermSize=16m:设置持久代大小为16m。

-XX:MaxTenuringThreshold=0:设置垃圾最大年龄。

设置垃圾回收器

  • -XX:+UseParallelGC

  • -XX:ParallelGCThreads=20

  • -XX:+UseParallelGC

  • -XX:MaxGCPauseMillis=100

    • 设置每次年轻代垃圾回收的最长时间,

    • 如果无法满足此时间,JVM会自动调整年轻代大小,以满足此值。

-XX:+UseAdaptiveSizePolicy

  • 自动选择年轻代区大小和相应的Survivor区比例,

  • 以达到目标系统规定的最低相应时间或者收集频率等,

  • 此值建议使用并行收集器时,一直打开。

-XX:+PrintGC

  • 打印GC信息

常见配置汇总

  1. 堆设置

    • -Xms:初始堆大小

    • -Xmx:最大堆大小

    • -XX:NewSize=n:设置年轻代大小

    • -XX:NewRatio=n:设置年轻代和年老代的比值。如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4

    • -XX:SurvivorRatio=n:年轻代中Eden区与两个Survivor区的比值。注意Survivor区有两个。如:3,表示Eden:Survivor=3:2,一个Survivor区占整个年轻代的1/5

    • -XX:MaxPermSize=n:设置持久代大小

  2. 收集器设置

    • -XX:+UseSerialGC:设置串行收集器

    • -XX:+UseParallelGC:设置并行收集器

    • -XX:+UseParalledlOldGC:设置并行年老代收集器

    • -XX:+UseConcMarkSweepGC:设置并发收集器

  3. 垃圾回收统计信息

    • -XX:+PrintGC

    • -XX:+PrintGCDetails

    • -XX:+PrintGCTimeStamps

    • -Xloggc:filename

  4. 并行收集器设置

    • -XX:ParallelGCThreads=n:设置并行收集器收集时使用的CPU数。并行收集线程数。

    • -XX:MaxGCPauseMillis=n:设置并行收集最大暂停时间

    • -XX:GCTimeRatio=n:设置垃圾回收时间占程序运行时间的百分比。公式为1/(1+n)

  5. 并发收集器设置

    • -XX:+CMSIncrementalMode:设置为增量模式。适用于单CPU情况。

    • -XX:ParallelGCThreads=n:设置并发收集器年轻代收集方式为并行收集时,使用的CPU数。并行收集线程数。

到此,关于“java设置垃圾回收器的方法以及常见配置汇总”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI