精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

一次由groovy引起的fullGC問題排查

開發 后端
綜上分析,groovy 錯誤的使用方式導致 class 對象常駐堆外內存且隨著調用頻率增長。

一、問題背景

二、分析過程

  • 2.1 參數配置
  • 2.2 定位過程
  • 2.3 JVM分析
  • 2.4 問題分析

三、解決方案

一、問題背景

prometheus監控報警生效后,某服務每天的上午 8-12 點間會有fullGC的報警;

排查并解決該問題;

二、分析過程

2.1 參數配置

JVM 參數配置如下:

-Xms3g -Xmx3g -Xmn1g -XX:MetaspaceSize=128m -XX:ParallelGCThreads=5 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=80 -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+HeapDumpOnOutOfMemoryError

新生代大小:1G;

新生代垃圾收集器:ParNewGC;

老年代大小:2G;

老年代垃圾收集器:ConcMarkSweepGC;

CMS觸發條件:老年代內存占用達到80%及以上;

2.2 定位問題

1.由于報警的時間點都集中在上午的 8-12 點之間,懷疑是由于某個定時任務造成的;

2.定位具體的定時任務,有兩個定時任務的時間設置基本滿足;

任務1: 更新客戶信息
CustomerScheduleJobService.updateCustomerDataDaily 0 0/30 8,9,10,11,12 * * ?
任務2: 創建客戶任務
CustomerStaffScheduleJobService.jobCreateTask 0 10,40 7,8,9,10,11 * * ?

3.確定具體的任務

確認的兩個思路:

1.通過日志確認定時任務的執行時長等;

2.將2個定時任務分別指定不同的機器執行觀察;

排查任務執行時間:

任務1 : 很快,幾乎不處理業務邏輯;

[03-09 08:00:00 062 INFO ] [] [] [] [customerDataStat-pool-0] bll.customer.CustomerUpdateInfoDailyBll - (123) logid=6907112718471909376 [BizCustomerBll.updateCustomerDataDaily] thread begin...Ip: 10.151.49.157
[03-09 08:01:25 476 INFO ] [] [] [] [customerDataStat-pool-0] bll.customer.CustomerUpdateInfoDailyBll - (125) logid=6907112718471909376 [BizCustomerBll.updateCustomerDataDaily] end total=0Ip: 10.151.49.157

任務2: 執行約35分鐘時間;

8:10分開始,8:45分結束;

[03-09 08:45:08 458 INFO ] [] [] [] [pool-4-thread-20] bll.task.CreateCustomerTaskBll - (109) logid=6907115234995589120 method=jobCreateTask msg=end queryRuleNum=7 queryCustomerNum=15962 createTaskCustomerNum=238 createTaskCount=271Ip: 10.151.49.157

基本確定為第二個定時任務導致FullGC;

2.3 JVM分析

2.3.1 單天監控圖

內存趨勢

GC趨勢

2.3.2 報警時間段監控圖

內存趨勢

GC趨勢

2.3.3 圖表分析

2.3.3.1 老年代變化

現象

1.任務執行過程中:老年代有明顯增長,并且FullGC后并沒有特別明顯的下降,只有些許下降;

2.任務執行結束后:下次任務開始執行,進行FullGC后,會降到跟其他機器一樣的水平,甚至內存占用更低;

備注

新生代到老年代的幾種情況

1:大對象;

2:年齡足夠長,cms沒有設置,默認是6,通過jinfo確認也是6;

3:suvivor區不足以存放YGC后的存活對象,直接使用擔保策略晉升到老年代;

分析

任務執行過程中,YGC平均1分鐘執行5次,很多對象都會達到最大晉升年齡6,晉升到老年代;

并且由于任務沒有結束,對象還有引用,所以FullGC之后并沒有明顯下降;

上次任務結束后,老年代并沒有像suvivor區一樣有一段時間的低內存占用,主要是直到下次任務開始后才會觸發新一次的FullGC,觸發后,老年代的對象由于任務結束后沒有引用了,所以會正常回收;

2.3.3.2 survivor區變化

suvivor區內存總共100M,任務執行過程中,平均占用 80M;高的時候會飆升到90以上,所以這個過程中YGC也變得很頻繁,平均1分鐘5次;

2.3.3.3 非堆內存/方法區/compressed class cach變化

使用 jstat 分別統計了兩臺機器的gc統計,兩者最大的區別在于 執行過定時任務的機器的MC(方法區大小) 以及 CCSC(壓縮類空間大小) 明顯比沒有執行過定時任務的機器高很多;

任務執行過程中方法區的內存占用會跟老年代的曲線保持一致,這幾個區的回收也是靠老年代,這個通過grafana平臺的監控圖也可以看出來;

2.3.3.4 dump文件分析

groovy相關的類占比57.57%;

2.4 參數配置

java 與 groovy 版本

java version "1.8.0_191"
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>2.4.15</version>
</dependency>

代碼中使用到groovy的地方:同樣是這個定時任務,下發任務時,表達式檢驗是否滿足下發條件,表達式是用groovy進行處理的;

public class GroovyShellUtils {
private static LoggerHelper logger = LoggerHelper.getLoggerHelper(GroovyShellUtils.class);

public static boolean explain(String scriptText) {
try {
GroovyShell groovyShell = new GroovyShell();
Object evaluate = groovyShell.evaluate(scriptText);
return (boolean) evaluate;
} catch (Exception e) {
logger.error("", e);
}
return false;
}
}
// 使用:
for (String rule : rules) {
boolean res = GroovyShellUtils.explain(rule);
}

基本上可以定位問題在groovy腳本的加載處,groovy不合理使用會導致,動態生成很多新類,使得metaspace的不斷被占用;

class 對象在 1.8 及以后存放在 metaspace 中,也就是堆外內存。

groovy每執行一次,會將傳入的文本動態加載成一個腳本類,入參是文本時,生成的文件名中包含了一個自增的數值,也就是每執行一次都會動態生成一個新類,1個用戶7個任務規則校驗 * 15962個用戶 = 111734個

protected synchronized String generateScriptName() {
return "Script" + (++counter) + ".groovy";
}

GroovyShell 在內部,它使用groovy.lang.GroovyClassLoader,這是在運行時編譯和加載類的核心。

GroovyClassLoader 保留對其創建的所有類的引用,而 class 對象只有在被加載的 classloader 被回收的時候才會被回收,因此很容易造成內存泄漏;

綜上分析,groovy 錯誤的使用方式導致 class 對象常駐堆外內存且隨著調用頻率增長。

三、解決方案

1、每個腳本共用一個 GroovyShell 對象,不能使用 for 的方式,循環創建使用;

2、每次執行完釋放對象 shell.getClassLoader().clearCache();

責任編輯:龐桂玉 來源: 轉轉技術
相關推薦

2021-05-13 08:51:20

GC問題排查

2023-04-06 07:53:56

Redis連接問題K8s

2021-11-23 21:21:07

線上排查服務

2021-03-29 12:35:04

Kubernetes環境TCP

2025-03-17 10:01:07

2022-01-10 10:26:30

Kubernetes抓包環境

2019-06-24 08:17:55

CPUFullGCJava

2019-01-16 09:20:42

架構設計JVM FullGC宕機事故

2021-08-02 13:08:56

高并發服務

2019-03-26 08:52:51

2018-01-19 11:12:11

HTTP問題排查

2021-12-02 07:50:30

NFS故障內存

2022-07-13 08:31:18

React問題排查

2019-03-15 16:20:45

MySQL死鎖排查命令

2022-02-08 17:17:27

內存泄漏排查

2023-01-04 18:32:31

線上服務代碼

2019-04-15 13:15:12

數據庫MySQL死鎖

2022-08-01 20:29:48

分布式架構數據

2017-12-19 14:00:16

數據庫MySQL死鎖排查

2018-07-20 08:44:21

Redis內存排查
點贊
收藏

51CTO技術棧公眾號

99热这里只有精品99| 成人综合视频在线| 国产免费久久久| 在线国产精品一区| 亚洲欧洲视频在线| 三级黄色片播放| 男人久久天堂| 国产精品人人做人人爽人人添| 91免费版黄色| 中文字幕第三页| 亚洲视频中文| 日韩在线视频免费观看| 亚洲欧美日韩色| 欧美亚洲人成在线| 欧美日韩亚洲高清| 日本xxx免费| 国产在线视频福利| 丁香婷婷综合五月| 成人精品视频久久久久| 免费视频网站在线观看入口| 亚洲片区在线| 欧美成人激情图片网| av永久免费观看| 激情av综合| 欧美一级夜夜爽| 亚洲一区日韩精品| 欧美韩国亚洲| 欧美日韩一区二区三区| 激情五月婷婷六月| www免费在线观看| 国产精品亲子乱子伦xxxx裸| 鲁丝片一区二区三区| 国产综合无码一区二区色蜜蜜| 超碰免费在线| 久久久国产精品入口麻豆 | 精品少妇一区二区三区密爱| 全球av集中精品导航福利| 欧美一区二区三区日韩| 日本人视频jizz页码69| 午夜无码国产理论在线| 高跟丝袜欧美一区| 大j8黑人w巨大888a片| 在线观看三级视频| 亚洲精选视频免费看| 一区二区三区四区五区精品| 国产三级在线看| 国产午夜久久久久| 欧美人xxxxx| 久久精品蜜桃| 久久精品亚洲麻豆av一区二区| 精品久久久久久乱码天堂| 人妻少妇精品无码专区| 成人激情动漫在线观看| 国产98在线|日韩| 亚洲国产精品视频在线| 国产高清一区日本| 国产精品国产精品国产专区蜜臀ah | 91精品久久久久久久久久| 美女黄页在线观看| 经典三级在线一区| 91视频8mav| 国产黄色大片网站| 成人一区二区三区在线观看| 国产在线精品日韩| 欧美日韩在线精品一区二区三区激情综 | 欧美偷拍视频| 国产网站一区二区| 亚洲欧美丝袜| 羞羞视频在线观看免费| 亚洲一级二级在线| 大肉大捧一进一出好爽视频| 美女18一级毛片一品久道久久综合| 色噜噜久久综合| gogogo高清免费观看在线视频| 天天综合91| 欧美精品一区二区三区四区| 国产 中文 字幕 日韩 在线| 深爱激情久久| 久久天天躁狠狠躁夜夜躁2014| 成年人av电影| 久久男女视频| 成人激情春色网| 秋霞欧美在线观看| 国产日产欧产精品推荐色| 伊人久久大香线蕉精品| 大黄网站在线观看| 欧洲日韩一区二区三区| 国产aⅴ爽av久久久久| 亚洲三区欧美一区国产二区| 日韩精品视频中文在线观看| 亚洲不卡的av| 亚洲精品九九| 91精品久久久久久综合乱菊| 欧美一区,二区| 中文无字幕一区二区三区 | 欧美精品乱码久久久久久按摩| 亚洲国产综合av| 天天躁日日躁成人字幕aⅴ| 中文字幕最新精品| 国产成人自拍视频在线| 另类小说综合欧美亚洲| 国内精品一区二区| 看女生喷水的网站在线观看| 欧美日韩中国免费专区在线看| 99re6在线观看| 日韩精品免费一区二区三区竹菊| 日韩视频亚洲视频| 中文字幕国产在线观看| 国产精品综合二区| 午夜精品亚洲一区二区三区嫩草| xxx在线免费观看| 538prom精品视频线放| 中文字幕免费看| 亚洲调教视频在线观看| 国产日韩欧美在线看| 日夜干在线视频| 亚洲一二三区视频在线观看| 中国黄色片一级| 国产探花在线精品一区二区| 国模gogo一区二区大胆私拍 | 精品一区精品二区高清| 欧美日韩国产精品一卡| 成全电影大全在线观看| 91精品国产91久久综合桃花| 日本污视频网站| 免费亚洲婷婷| 就去色蜜桃综合| heyzo在线| 欧美mv和日韩mv国产网站| 日韩亚洲欧美中文字幕| 日本欧美在线观看| 久久99九九| free性m.freesex欧美| 欧美成人三级在线| caoporn91| 国产综合久久久久久久久久久久| 亚洲精品在线免费| 日韩大片欧美大片| 亚洲人a成www在线影院| 天天干天天干天天| 91免费版在线看| 草草久久久无码国产专区| 9l视频自拍九色9l视频成人| 久久综合电影一区| 99热这里只有精品9| 亚洲精品视频免费看| 亚洲第一区第二区第三区| 91欧美大片| 91精品视频在线| 国精产品一区| 日韩片之四级片| 久久久久久激情| 成人av在线一区二区三区| 欧美无砖专区免费| 女仆av观看一区| 欧美中文在线免费| 韩国福利在线| 欧美日韩国产一二三| 99热这里只有精品4| 韩国欧美国产1区| 成年人深夜视频| 91精品短视频| 欧美一级bbbbb性bbbb喷潮片| 欧美大片aaa| 欧美日韩一区二区三区四区| 无码人妻精品中文字幕| 国产九色精品成人porny | 国产97免费视频| 成人一区二区三区在线观看| 日日碰狠狠添天天爽超碰97| 亚洲日产av中文字幕| 国产精品91久久久久久| 久操视频在线播放| 精品国产91乱码一区二区三区| 五月婷婷亚洲综合| 中文字幕av一区 二区| 夜夜爽久久精品91| 亚洲主播在线| 视频一区视频二区视频三区高| 成人亚洲精品| 91精品国产99| 日本天堂在线观看| 亚洲变态欧美另类捆绑| 成年人晚上看的视频| 亚洲柠檬福利资源导航| 无码精品一区二区三区在线播放| 日本欧美加勒比视频| 97在线免费视频观看| 亚洲桃色综合影院| 91精品视频在线看| 欧美色网一区| 欧美另类高清videos| 欧美日韩激情视频一区二区三区| 欧美日韩久久一区| 国产三级av片| 亚洲欧洲综合另类在线| 90岁老太婆乱淫| 国产高清在线精品| 手机在线成人免费视频| 日韩亚洲精品在线| 久久精品国产精品亚洲精品色| 丝袜久久网站| 91手机在线观看| 78精品国产综合久久香蕉| 欧美精品videos| 免费a在线看| 亚洲欧美日韩精品久久亚洲区 | 久久精品在线播放| 蜜桃免费在线| 欧美精品一区男女天堂| 国产孕妇孕交大片孕| 在线视频中文字幕一区二区| 激情综合网五月婷婷| 综合久久久久久| 91资源在线播放| 久久夜色精品国产欧美乱极品| 色欲欲www成人网站| 久久99久久久欧美国产| 无码日韩人妻精品久久蜜桃| 日韩视频免费| 欧美中日韩在线| 中文视频一区| 三年中文高清在线观看第6集| 欧美呦呦网站| 欧美一级片免费观看| 天天久久夜夜| 乱一区二区三区在线播放| 九九热播视频在线精品6| 5566av亚洲| 久久久久九九精品影院| 91视频-88av| 国产午夜精品一区在线观看| 国产精品一区二区三区久久| 澳门av一区二区三区| 日韩av片永久免费网站| av电影一区| 热99精品里视频精品| 亚洲天堂免费电影| 2019中文字幕免费视频| av老司机在线观看| 51精品在线观看| 色综合桃花网| 欧美怡红院视频一区二区三区| 黄在线观看免费网站ktv| 久久91亚洲人成电影网站| av免费在线观看网址| 欧美成人精品在线| 污视频网站免费在线观看| 成年无码av片在线| 性欧美高清come| 久久久久久国产精品三级玉女聊斋| 在线网址91| 欧美激情在线播放| 川上优av中文字幕一区二区| 91禁国产网站| 成人av三级| 国产精品高清在线观看| 永久免费观看精品视频| 91在线观看欧美日韩| 日韩精品久久久久久久软件91| 成人做爰66片免费看网站| 免费日韩一区二区三区| 裸模一区二区三区免费| 成人中文在线| 亚洲黄色网址在线观看| 狠狠爱www人成狠狠爱综合网| 男人添女荫道口图片| 午夜在线视频一区二区区别| 欧美性猛交xxx乱久交| 久久电影网电视剧免费观看| 中文字幕欧美视频| av影院午夜一区| 免费黄色片网站| 亚洲人成网站色在线观看| 国产亚洲精品久久777777| 都市激情亚洲色图| 中文字幕无线码一区| 日韩欧美国产小视频| 网站黄在线观看| 中文字幕亚洲无线码在线一区| 成人ww免费完整版在线观看| 97在线观看视频国产| 久久久人成影片一区二区三区在哪下载| 国产欧美精品一区二区三区介绍| 人人九九精品视频| 美国av一区二区三区| 999国产精品视频| 欧美日韩黄色一级片| 免费欧美日韩国产三级电影| 香蕉视频1024| 中文字幕欧美区| 久久久精品视频免费| 欧美日韩高清影院| 天堂成人在线视频| 久久精品成人动漫| 在线观看的黄色| 91精品黄色| av中文字幕一区二区| 给我免费播放片在线观看| 美女任你摸久久| 捆绑凌虐一区二区三区| 国产精品久久久久久久久免费桃花| 国产一卡二卡在线播放| 欧美日韩大陆在线| 欧美精品久久久久久久久久丰满| 欧美日韩国产成人高清视频| 日本在线精品| 精品国产乱码久久久久久88av| 99久久久久久中文字幕一区| 成人在线免费在线观看| 国产福利不卡视频| 永久免费观看片现看| 欧美色videos| 国产91麻豆视频| 久久综合久久88| 欧洲美女精品免费观看视频| 欧美福利一区二区三区| 亚洲高清二区| 中文字幕第10页| 亚洲日本在线a| 在线免费看91| 一区二区三区视频免费| 超碰aⅴ人人做人人爽欧美| 国产综合18久久久久久| 国产精品99一区二区| 在线一区二区不卡| 国产精品萝li| 中国老头性行为xxxx| 亚洲欧美日韩中文在线| 午夜影院在线播放| 韩国精品一区二区三区六区色诱| 国产精品第十页| www.偷拍.com| 亚洲美女偷拍久久| 国产三级午夜理伦三级| 中文字幕自拍vr一区二区三区| www.久久.com| 亚洲激情一区二区三区| 日本不卡的三区四区五区| 强伦人妻一区二区三区| 色综合久久综合网97色综合 | 老熟妇仑乱视频一区二区| 94色蜜桃网一区二区三区| 91精品国产高潮对白| 精品久久久久久最新网址| 日本欧美电影在线观看| 国产成人精品免费视频大全最热| 亚洲视频一区| 97人妻天天摸天天爽天天| 精品久久久久久久久国产字幕| 天天干在线观看| 日本道色综合久久影院| 国产精品片aa在线观看| 麻豆一区二区三区视频| 国产精品免费免费| 国产熟女精品视频| 欧美极品在线视频| 四虎884aa成人精品最新| 日本黄色三级大片| 国产日韩在线不卡| 91成人在线免费| 欧美人与性动交| 欧美亚洲大陆| 久久久精品麻豆| 亚洲三级电影网站| 囯产精品一品二区三区| 1769国产精品| 不卡在线一区| 操人视频免费看| 性久久久久久久久久久久| 日韩毛片在线一区二区毛片| 国产精品美女在线| 好看不卡的中文字幕| 黄色aaa视频| 91精品国产综合久久久久| a级大胆欧美人体大胆666| 欧美精品一区二区视频| 久久国产精品99久久久久久老狼 | 欧美日韩国产综合新一区 | 日韩高清成人在线| www.色就是色| 一区二区三区在线观看动漫| 午夜一区在线观看| 国产欧美一区二区三区久久| 欧美日韩 国产精品| 亚洲a v网站| 日韩一区二区三区在线观看| 中文字幕在线中文字幕在线中三区| 亚洲精品中字| 成人福利视频网站| 中文字幕在线日亚洲9| 久久久久久久亚洲精品| 欧美中文一区二区| 日韩少妇一区二区| 欧美日韩卡一卡二| 午夜影院在线观看国产主播| 国产免费xxx| 国产肉丝袜一区二区| 欧美一级一区二区三区| 91精品久久久久久久久久入口|