精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

精品偷拍一区二区三区在线看| 91在线一区二区| 久久精品99久久香蕉国产色戒| 欧美精品 - 色网| 欧洲性视频在线播放| caoporn国产精品| 国产精品video| 乱h高h女3p含苞待放| 嫩草国产精品入口| 欧美精品成人一区二区三区四区| 日韩精品第1页| 欧美日韩国产综合视频| 国产一区二区三区免费在线观看| 91精品国产99久久久久久| 国产三级av在线播放| 一区二区日韩| 欧美午夜精品电影| 免费毛片网站在线观看| 蜜桃视频网站在线| 久久综合色之久久综合| 亚洲自拍高清视频网站| 日日夜夜狠狠操| 欧美不卡视频| 国产性色av一区二区| 在线观看一区二区三区四区| 成人亚洲网站| 欧美日韩在线视频观看| 一级性生活视频| 91看片在线观看| 青娱乐国产精品| 99国产精品免费网站| 在线观看欧美精品| 欧美视频在线观看网站| 黄色免费在线观看| 国产日韩精品一区二区浪潮av | 国产在线观看www| 中文字幕一区日韩精品欧美| 欧美日韩最好看的视频| 日批视频在线播放| 国产成人自拍网| 91久久久国产精品| 夜夜躁很很躁日日躁麻豆| 美女日韩在线中文字幕| 91精品国产沙发| 国产黄色片视频| 国内一区二区三区| 欧美高清视频在线播放| 国产一二三区精品| 亚洲激情中文| 久久影院中文字幕| 欧美激情图片小说| 欧美成人综合| 欧美日韩国产999| 欧美三根一起进三p| 永久亚洲成a人片777777| 久久精品小视频| www.5588.com毛片| 欧美国产激情| 欧美人与性动交| 五月天综合在线| 91久久亚洲| 91av中文字幕| www.国产毛片| 美腿丝袜亚洲综合| 成人av.网址在线网站| 国产精品欧美综合亚洲| 国产精品影音先锋| 成人午夜电影免费在线观看| 亚洲成人777777| 成人av片在线观看| 另类小说综合网| 三级视频在线播放| 国产精品乱码人人做人人爱| 国产精品美女在线播放| 丝袜国产在线| 欧美日韩国内自拍| 一级特黄性色生活片| 日韩福利在线观看| 精品成人一区二区| 3d动漫精品啪啪一区二区下载| 综合干狼人综合首页| 永久免费精品影视网站| 中国一级片在线观看| 欧美日韩ab| 日本伊人精品一区二区三区介绍 | 蜜臀av一区二区三区| 成人黄色av网| 少妇av在线播放| 国产日韩精品一区| 欧美 国产 精品| 天天综合av| 欧美性极品少妇| 中文字幕无人区二| 精品国产99| 九九热精品视频| 亚洲大片免费观看| 国产福利一区在线观看| 欧美激情视频一区二区三区| 免费看a在线观看| 天天综合色天天| 亚洲精品手机在线观看| 久久久久久久久久久久久久久久久久久久| 亚洲欧洲av一区二区| 538任你躁在线精品视频网站| 国产精品亚洲综合色区韩国| 国产精品一区二区久久国产| 丰满人妻妇伦又伦精品国产| 国产欧美综合在线| av免费观看国产| 青草综合视频| 日韩经典中文字幕在线观看| 娇小11一12╳yⅹ╳毛片| 国产一区二区精品| 99久久久精品免费观看国产 | 中文字幕在线一| www.日韩大片| 国产精品久久久影院| 姬川优奈av一区二区在线电影| 日韩一区二区在线观看视频| 白白色免费视频| 国产精品久久久久久模特| 114国产精品久久免费观看| 久草在线免费福利资源| 亚洲国产中文字幕在线视频综合| 自拍偷拍一区二区三区四区| 丝袜久久网站| 欧美精品福利视频| a级片在线播放| 中文字幕一区二区三区不卡在线 | 成人av观看| 精品国产第一区二区三区观看体验| 日韩福利在线视频| 久久成人精品| 欧美极品视频一区二区三区| 超碰成人av| 精品免费一区二区三区| 国产三级国产精品国产国在线观看| 日韩激情一二三区| 蜜桃传媒视频第一区入口在线看| 欧美卡一卡二| 日韩欧美国产综合在线一区二区三区| 制服丨自拍丨欧美丨动漫丨| 日产欧产美韩系列久久99| 久久影院理伦片| 日韩影院在线| 精品香蕉一区二区三区| 久久不卡免费视频| 99精品欧美一区二区三区小说| 一本久道高清无码视频| 91蝌蚪精品视频| 久久理论片午夜琪琪电影网| 亚洲精品久久久蜜桃动漫| 一区二区三区四区不卡在线| 欧美色图校园春色| 国内激情久久| 国产午夜精品一区| 中文字幕资源网在线观看免费| 亚洲精品99久久久久中文字幕| 日韩高清精品免费观看| a在线播放不卡| 777精品久无码人妻蜜桃| 欧美调教在线| 日韩av免费在线看| 91.xxx.高清在线| 欧美疯狂做受xxxx富婆| 麻豆天美蜜桃91| 国产成人免费视频一区| 丰满少妇大力进入| 青青久久av| 国产精品久久久亚洲| 黄网站在线播放| 精品久久久久久无| 在线能看的av| 国产精品日产欧美久久久久| 日韩av加勒比| 亚洲日本国产| 日本在线观看不卡| 97色婷婷成人综合在线观看| 九九热在线精品视频| 色呦呦视频在线| 欧美专区亚洲专区| 久久久精品视频免费观看| 不卡的看片网站| 日韩av手机版| 欧美激情综合| 青青草原亚洲| 日韩最新av| 国产成人一区二区| 菠萝蜜视频国产在线播放| 亚洲成人免费网站| 自拍偷拍精品视频| 亚洲综合清纯丝袜自拍| 蜜臀久久99精品久久久久久| 国产在线不卡一区| 国产91对白刺激露脸在线观看| 成人午夜av| 国产伦视频一区二区三区| 人人鲁人人莫人人爱精品| 欧美精品日韩www.p站| 女人天堂在线| 精品久久久久一区二区国产| 在线免费观看高清视频| 亚洲午夜激情av| 成人欧美一区二区三区黑人一 | 99在线热播精品免费99热| 翔田千里亚洲一二三区| 精品欧美午夜寂寞影院| 国产原创欧美精品| 一区二区电影免费观看| 欧美成人免费全部观看天天性色| 黄色大片在线看| 精品久久久久久无| 国产手机av在线| 在线看一区二区| 日韩av片在线播放| 亚洲欧美另类小说视频| 青娱乐国产视频| av一本久道久久综合久久鬼色| 亚洲黄色av片| 日韩电影在线观看网站| 久激情内射婷内射蜜桃| 亚洲国产不卡| 亚洲精品一卡二卡三卡四卡| 牲欧美videos精品| 国产九色91| 亚洲无线观看| 91欧美激情另类亚洲| 成人18视频在线观看| 欧美在线中文字幕| 黄色污网站在线观看| 欧美国产精品人人做人人爱| 免费黄网站在线| 色小说视频一区| 二区在线视频| 国产一区二区日韩| 牛牛热在线视频| 日韩久久午夜影院| 天天干天天舔天天射| 亚洲国产精品福利| 色婷婷av一区二区三区之e本道| 欧美一区二区免费观在线| 97人妻一区二区精品免费视频| 91成人看片片| 超碰在线观看91| 色婷婷国产精品| chinese国产精品| 欧美性色xo影院| 国产成人无码专区| 在线精品视频免费观看| 中文字幕一区二区三区四区欧美| 欧美视频精品一区| 免费一级a毛片| 欧美天堂一区二区三区| 亚洲中文字幕在线一区| 欧美精品在线观看一区二区| 91精品国自产| 欧美一区午夜精品| 亚洲美女性生活| 亚洲国产黄色片| 欧美孕妇性xxxⅹ精品hd| 亚洲深夜福利网站| 天天影视久久综合| 在线亚洲观看| 国产精品中文字幕在线观看| 91亚洲视频| 91久久精品日日躁夜夜躁国产| 精品中文字幕一区二区三区| 99久久自偷自偷国产精品不卡| 国产精品jk白丝蜜臀av小说| 国产区日韩欧美| 在线日本制服中文欧美| 日韩和欧美的一区二区| 视频在线不卡免费观看| 久久香蕉视频网站| 亚洲精品1区| 国产一线二线三线在线观看| 久久国内精品视频| 超碰caoprom| 久久久亚洲综合| 免费精品在线视频| 亚洲高清免费一级二级三级| 日韩一区二区视频在线| 欧美色大人视频| wwwxxxx国产| 亚洲欧美一区二区三区情侣bbw | 在线亚洲欧美日韩| 日韩欧美精品三级| 国产系列电影在线播放网址| www日韩欧美| av资源中文在线| 国产欧美精品xxxx另类| 成人看片爽爽爽| 亚洲成人第一| 国内一区二区三区| 亚洲天堂av线| 成人午夜电影小说| 激情五月深爱五月| 亚洲第一久久影院| 亚洲视频一区二区三区四区| 亚洲成人激情在线| 色的视频在线免费看| 午夜免费日韩视频| 国产乱码精品一区二区三区亚洲人 | 三级在线免费观看| 亚洲女同同性videoxma| 国产性生活一级片| 国产三区在线成人av| 日韩av在线电影| 91超碰这里只有精品国产| 亚洲欧美日韩综合在线| 欧美wwwxxxx| 国产福利91精品一区二区| 国产另类自拍| 五月天免费网站| 国产精品久久久久久一区二区三区| 久久香蕉精品视频| 欧美人xxxx| 精品无人乱码| 欧美一区二三区| 91成人福利| 国产女人18毛片| 另类专区欧美蜜桃臀第一页| 亚洲av无码一区二区三区观看| 亚洲免费观看高清完整版在线| 香蕉影院在线观看| 亚洲精品aⅴ中文字幕乱码| 亚洲综合影视| 91在线观看免费观看| 日韩精品一区二区三区免费观看| 日韩激情免费视频| 成人午夜电影网站| 国产亚洲精品久久久久久无几年桃| 欧美精品色一区二区三区| 黄色大片在线看| 国产成人在线视频| 欧美美女在线观看| 国产亚洲天堂网| 26uuu色噜噜精品一区二区| 日韩乱码在线观看| 亚洲电影天堂av| a天堂资源在线| 97在线看福利| 国产欧美三级电影| 欧美成人三级在线视频| 成人免费高清视频在线观看| 免费在线一区二区三区| 欧美成人精精品一区二区频| dy888亚洲精品一区二区三区| 成人高清视频观看www| 91综合视频| 九九热视频免费| 一区二区三区在线看| 国产自产一区二区| 亚州欧美日韩中文视频| 久久精品凹凸全集| 久久人妻精品白浆国产| 久久精品亚洲一区二区三区浴池| 日韩av大片在线观看| 亚洲美女在线观看| 日韩网站中文字幕| 亚洲最新在线| 国产精品一区二区91| 欧美日韩在线观看成人| 亚洲第一天堂av| 天堂av在线网| 香蕉久久免费影视| 国产九色精品成人porny| 激情小说中文字幕| 亚洲精品美女网站| 精品欧美一区二区三区在线观看| 视频三区二区一区| 国产综合久久久久久鬼色| 欧美色图亚洲天堂| 日韩精品有码在线观看| 欧美xnxx| 国产911在线观看| av网站免费线看精品| 波多野结衣视频在线看| 精品国产欧美一区二区三区成人| 日本免费一区二区三区视频| www.成年人视频| 国产网红主播福利一区二区| 亚洲一卡二卡在线| 欧美激情一区二区三区高清视频| 校花撩起jk露出白色内裤国产精品| 午夜视频在线瓜伦| 亚洲精品乱码久久久久久久久| 三级在线观看网站| 国产精品一区二区三区久久 | xxxxx成人.com| 国产精品1luya在线播放| 国产天堂在线播放| 一区二区三区高清在线| 久久这里精品| caoporn国产精品免费公开| 久久国产一二区| 久久精品一级片| 中文字幕日韩高清| 精品无人区一区二区| 亚洲免费999|