当前位置: 首页 > news >正文

太原新建火车站嵌入式软件能干一辈子

太原新建火车站,嵌入式软件能干一辈子,网站开发技术项目代码搜索,网站建设移交手续开启 G1 Collector G1收集器的出现除了提供可控的低延迟GC,解决历史收集器的一些弊病,同时还尽力简化调优参数 对于大多数应用,开启收集器,再配置一下Xms和Xmx就足够了(不建议配置Xmn) -XX:UseG1GC核心参…

开启 G1 Collector

G1收集器的出现除了提供可控的低延迟GC,解决历史收集器的一些弊病,同时还尽力简化调优参数
对于大多数应用,开启收集器,再配置一下Xms和Xmx就足够了(不建议配置Xmn)

-XX:+UseG1GC

核心参数

  • 最大暂停时间的目标值
    默认值为200毫秒。
    太大会导致延迟大,太小会导致频繁GC,吞吐下降,请结合堆大小酌情谨慎调节。一般情况下,使用默认值就好。
-XX:MaxGCPauseMillis=200
  • G1每个Region的大小
    该值为2的幂,范围为1MB到32MB。我们的目标是根据最小Java堆大小拥有大约2048个区域。
    建议交给JVM自动分配
-XX:G1HeapRegionSize=n

重要参数

  • 年轻代堆大小的最小值
    设置年轻代堆大小占整个堆的百分比。
    默认值是Java堆的5% (experimental VM flag)

  • 年轻代堆大小的最大值
    设置年轻代堆大小占整个堆的百分比。
    默认值是Java堆的60%。(experimental VM flag)

-XX:G1NewSizePercent=5-XX:G1MaxNewSizePercent=60
  • 触发标记周期的Java堆占用率阈值
    触发标记周期的Java堆占用率阈值。默认占用率是整个Java堆的45%。
-XX:InitiatingHeapOccupancyPercent=45
  • MixedGC周期中的老年代的占用率阈值
    设置要包含在混合垃圾收集周期中的老年代的占用率阈值。默认占用率为85%。(experimental VM flag)
-XX:G1MixedGCLiveThresholdPercent=85
  • 允许堆浪费的百分比
    设置您愿意浪费的堆的百分比。默认值为10%。
    当可回收百分比小于堆浪费百分比时,Java HotSpot VM不会启动混合垃圾收集周期。
-XX:G1HeapWastePercent=10
  • MixedGC周期中收集老年代区域的上限
    设置在混合垃圾收集周期中要收集的老年代区域的上限。默认值为Java堆的10%。
-XX:G1OldCSetRegionThresholdPercent=10
  • 保留空闲内存百分比
    设置保持空闲的保留内存百分比,以降低到空间溢出的风险。默认值为10%。
-XX:G1ReservePercent=10
  • MixedGC收集的目标数量
    设置标记周期后混合垃圾收集的目标数量,以收集最多包含 G1MixedGCLIveThresholdPercent 实时数据的旧区域。默认值为8个混合垃圾回收。混合集合的目标是在此目标数量内。
-XX:G1MixedGCCountTarget=8

GC问题分析

问题特征

使用默认配置参数,(MaxGCPauseMillis=200)多个服务GC收集器从CMS转到G1效果都很好,GC耗时每分钟 大都在40ms以内,但是有个服务就与众不同了。

  1. YoungGC耗时长 300~500ms 有时1s+;
  2. mixedGC 频次低,耗时短,都在50ms以内;
  3. 日志中常见 to survivor 耗尽 (to-space exhausted);

分析思路

  • 调小年轻代
    让yongGC频繁一些,快一些
    默认5%~60%
-XX:+UnlockExperimentalVMOptions 
-XX:G1NewSizePercent=25 
-XX:G1MaxNewSizePercent=40
  • mixedGC调节
    提前触发,每次多回收一些

提前触发标记周期 45%–>35%
触发mixedGC的老年代的占用率阈值 85%–>60% (experimentalVMOptions)
mixedGC中要收集的老年代区域占整个堆的百分比上限 10%–>20%
混合垃圾收集的目标数量 8–>12

-XX:InitiatingHeapOccupancyPercent=35
-XX:+UnlockExperimentalVMOptions -XX:G1MixedGCLiveThresholdPercent=60
-XX:G1OldCSetRegionThresholdPercent=20
-XX:G1MixedGCCountTarget=12 
  • 防止晋升失败
    少浪费一些:10%–>5%
    空闲空间多留一些:10%–>20%
    如大对象晋升失败,可调大Region
-XX:G1HeapWastePercent=5 
-XX:G1ReservePercent=20
-XX:G1HeapRegionSize=8

常用命令

  • 查看G1 experimental flag
java  -XX:+UnlockExperimentalVMOptions -XX:+PrintFlagsFinal -version|grep 'experimental' |grep G1
  • 查看某进程X设定的VM参数
    例如查看 MaxGCPauseMillis 的值
jinfo -flag MaxGCPauseMillis pid
  • 查看进程GC情况
    各分区使用情况,GC次数和时间
jstat -gc pid
  • 查看进程VM参数
jinfo -flags pid

reference

  • https://www.oracle.com/technical-resources/articles/java/g1gc.html
  • https://code84.com/882088.html
http://www.yayakq.cn/news/971576/

相关文章:

  • 建筑参考网站wordpress修改首页模板文件
  • 桂林做网站公司有哪些天津广告设计公司
  • 专门做淘宝代运营的网站添加了字体为什么wordpress
  • 大型网站建设定制开发企业网站功能描述
  • 教学网站前台模板制作wordpress页面模板下载
  • 上海网站设计专注乐云seo王烨桦
  • 房产网站做那个比较好百度网站的优点
  • 临沂网站案例网站上线后做什么
  • 网站建设用什么服务器正规男科医院收费标准
  • 做网络写手最好进那个网站大型seo公司
  • 怎么做企业网站优化爱站网官网关键词查询
  • 怎么知道一个网站是哪家公司做的建设网站公司谁家好
  • 兰州做网站咨询兰州做网站公司网站数据查询
  • 企业建立网站scratch编程
  • 范县网站建设费用如何通过建设网站赚钱
  • 宁国做网站的公司dart 网站开发
  • 基础建设的网站有哪些内容沈阳大熊网站建设制作
  • 如何做彩票网站的源码鸿星尔克网络营销
  • 佛山优化网站安装wordpress 500错误
  • 网站设计好以后怎么上线基于html5的wordpress
  • 网站建设这门课好学吗淘宝网页设计多少钱
  • 金融类的网站怎么做wordpress query_posts参数
  • 网站上可以做文字链接么网站建设规划书费用预算
  • 四川建设集团有限公司网站ASP.NET与网站开发实践教程
  • 广州网站建设报价单北极星招聘网
  • 网站各个功能模块网站开发所需技术
  • 岳阳网站建设与设计WordPress大前端设置背景
  • 海口网站建设托管室内设计公司平面图
  • 论坛建立网站宁夏微信网站建设
  • 专业定制网站企业成都建网站哪家好