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

線上CPU100%及應用OOM的排查和解決過程

商務辦公
最近工作又遇到幾次線上告警的問題,排查基本上就是cup100%以及內存OOM問題,再分享一下之前遇到這類問題排查的一些思路和過程,希望對你有所幫助,感謝你的閱讀。

[[403756]]

最近工作又遇到幾次線上告警的問題,排查基本上就是cup100%以及內存OOM問題,再分享一下之前遇到這類問題排查的一些思路和過程,希望對你有所幫助,感謝你的閱讀。

問題現象

【告警通知-應用異常告警】

簡單看下告警的信息:拒絕連接,反正就是服務有問題了,請不要太在意馬賽克。

環境說明

Spring Cloud F版。

項目中默認使用 spring-cloud-sleuth-zipkin 依賴得到 zipkin-reporter。分析的版本發現是 zipkin-reporter版本是 2.7.3 。

  1. <dependency> 
  2.  <groupId>org.springframework.cloud</groupId> 
  3.  <artifactId>spring-cloud-sleuth-zipkin</artifactId> 
  4. </dependency> 

版本:2.0.0.RELEASE

版本說明

問題排查

通過告警信息,知道是哪一臺服務器的哪個服務出現問題。首先登錄服務器進行檢查。

1、檢查服務狀態和驗證健康檢查URL是否ok

“這一步可忽略/跳過,與實際公司的的健康檢查相關,不具有通用性。

①查看服務的進程是否存在。

“ps -ef | grep 服務名 ps -aux | grep 服務名

②查看對應服務健康檢查的地址是否正常,檢查 ip port 是否正確

“是不是告警服務檢查的url配置錯了,一般這個不會出現問題

③驗證健康檢查地址

“這個健康檢查地址如:http://192.168.1.110:20606/serviceCheck 檢查 IP 和 Port 是否正確。

  1. # 服務正常返回結果 
  2. curl http://192.168.1.110:20606/serviceCheck 
  3. {"appName":"test-app","status":"UP"
  4.  
  5. # 服務異常,服務掛掉 
  6. curl http://192.168.1.110:20606/serviceCheck 
  7. curl: (7) couldn't connect to host 

2、查看服務的日志

查看服務的日志是否還在打印,是否有請求進來。查看發現服務OOM了。

OOM錯誤

tips:java.lang.OutOfMemoryError GC overhead limit exceeded

oracle官方給出了這個錯誤產生的原因和解決方法:Exception in thread thread_name: java.lang.OutOfMemoryError: GC Overhead limit exceeded Cause: The detail message "GC overhead limit exceeded" indicates that the garbage collector is running all the time and Java program is making very slow progress. After a garbage collection, if the Java process is spending more than approximately 98% of its time doing garbage collection and if it is recovering less than 2% of the heap and has been doing so far the last 5 (compile time constant) consecutive garbage collections, then a java.lang.OutOfMemoryError is thrown. This exception is typically thrown because the amount of live data barely fits into the Java heap having little free space for new allocations. Action: Increase the heap size. The java.lang.OutOfMemoryError exception for GC Overhead limit exceeded can be turned off with the command line flag -XX:-UseGCOverheadLimit.

原因:大概意思就是說,JVM花費了98%的時間進行垃圾回收,而只得到2%可用的內存,頻繁的進行內存回收(最起碼已經進行了5次連續的垃圾回收),JVM就會曝出ava.lang.OutOfMemoryError: GC overhead limit exceeded錯誤。

上面tips來源:java.lang.OutOfMemoryError GC overhead limit exceeded原因分析及解決方案

3、檢查服務器資源占用狀況

查詢系統中各個進程的資源占用狀況,使用 top 命令。查看出有一個進程為 11441 的進程 CPU 使用率達到300%,如下截圖:

CPU爆表

然后 查詢這個進程下所有線程的CPU使用情況:

top -H -p pid 保存文件:top -H -n 1 -p pid > /tmp/pid_top.txt

  1. top -H -p 11441 
  2. PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND 
  3. 11447 test    20   0 4776m 1.6g  13m R 92.4 20.3  74:54.19 java 
  4. 11444 test    20   0 4776m 1.6g  13m R 91.8 20.3  74:52.53 java 
  5. 11445 test    20   0 4776m 1.6g  13m R 91.8 20.3  74:50.14 java 
  6. 11446 test    20   0 4776m 1.6g  13m R 91.4 20.3  74:53.97 java 
  7. .... 

查看 PID:11441 下面的線程,發現有幾個線程占用cpu較高。

4、保存堆棧數據

1、打印系統負載快照

  1. top -b -n 2 > /tmp/top.txt 
  2.  
  3. top -H -n 1 -p pid > /tmp/pid_top.txt 

2、cpu升序打印進程對應線程列表

  1. ps -mp-o THREAD,tid,time | sort -k2r > /tmp/進程號_threads.txt 

3、看tcp連接數 (最好多次采樣)

  1. lsof -p 進程號 > /tmp/進程號_lsof.txt 
  2. lsof -p 進程號 > /tmp/進程號_lsof2.txt 

4、查看線程信息 (最好多次采樣)

  1. jstack -l 進程號 > /tmp/進程號_jstack.txt  
  2. jstack -l 進程號 > /tmp/進程號_jstack2.txt 
  3. jstack -l 進程號 > /tmp/進程號_jstack3.txt 

5、查看堆內存占用概況

  1. jmap -heap 進程號 > /tmp/進程號_jmap_heap.txt 

6、查看堆中對象的統計信息

  1. jmap -histo 進程號 | head -n 100 > /tmp/進程號_jmap_histo.txt 

7、查看GC統計信息

  1. jstat -gcutil 進程號 > /tmp/進程號_jstat_gc.txt 

8、生產對堆快照Heap dump

  1. jmap -dump:format=b,file=/tmp/進程號_jmap_dump.hprof 進程號 

“堆的全部數據,生成的文件較大。

jmap -dump:live,format=b,file=/tmp/進程號_live_jmap_dump.hprof 進程號

“dump:live,這個參數表示我們需要抓取目前在生命周期內的內存對象,也就是說GC收不走的對象,一般用這個就行。

拿到出現問題的快照數據,然后重啟服務。

問題分析

根據上述的操作,已經獲取了出現問題的服務的GC信息、線程堆棧、堆快照等數據。下面就進行分析,看問題到底出在哪里。

1、分析cpu占用100%的線程

轉換線程ID

從jstack生成的線程堆棧進程分析。

將 上面線程ID 為

  1. 11447 :0x2cb7 
  2.  
  3. 11444 :0x2cb4 
  4.  
  5. 11445 :0x2cb5 
  6.  
  7. 11446 :0x2cb6 

轉為 16進制(jstack命令輸出文件記錄的線程ID是16進制)。

第一種轉換方法 :

  1. $ printf “0x%x” 11447 
  2.  
  3. “0x2cb7” 

第二種轉換方法 : 在轉換的結果加上 0x即可。

查找線程堆棧

  1. $ cat 11441_jstack.txt | grep "GC task thread" 
  2. "GC task thread#0 (ParallelGC)" os_prio=0 tid=0x00007f971401e000 nid=0x2cb4 runnable 
  3. "GC task thread#1 (ParallelGC)" os_prio=0 tid=0x00007f9714020000 nid=0x2cb5 runnable 
  4. "GC task thread#2 (ParallelGC)" os_prio=0 tid=0x00007f9714022000 nid=0x2cb6 runnable 
  5. "GC task thread#3 (ParallelGC)" os_prio=0 tid=0x00007f9714023800 nid=0x2cb7 runnable 

發現這些線程都是在做GC操作。

2、分析生成的GC文件

  1. S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT    
  2.  0.00   0.00 100.00  99.94  90.56  87.86    875    9.307  3223 5313.139 5322.446 
  • S0:幸存1區當前使用比例
  • S1:幸存2區當前使用比例
  • E:Eden Space(伊甸園)區使用比例
  • O:Old Gen(老年代)使用比例
  • M:元數據區使用比例
  • CCS:壓縮使用比例
  • YGC:年輕代垃圾回收次數
  • FGC:老年代垃圾回收次數
  • FGCT:老年代垃圾回收消耗時間
  • GCT:垃圾回收消耗總時間

FGC 十分頻繁。

3、分析生成的堆快照

使用 Eclipse Memory Analyzer 工具。下載地址:https://www.eclipse.org/mat/downloads.php

分析的結果:

看到堆積的大對象的具體內容:

問題大致原因,InMemoryReporterMetrics 引起的OOM。

  1. zipkin2.reporter.InMemoryReporterMetrics @ 0xc1aeaea8 
  2.  
  3. Shallow Size: 24 B Retained Size: 925.9 MB 

也可以使用:Java內存Dump(https://www.perfma.com/docs/memory/memory-start)進行分析,如下截圖,功能沒有MAT強大,有些功能需收費。

4、原因分析和驗證

因為出現了這個問題,查看出現問題的這個服務 zipkin的配置,和其他服務沒有區別。發現配置都一樣。

然后看在試著對應的 zipkin 的jar包,發現出現問題的這個服務依賴的 zipkin版本較低。

有問題的服務的 zipkin-reporter-2.7.3.jar

其他沒有問題的服務 依賴的包 :zipkin-reporter-2.8.4.jar

將有問題的服務依賴的包版本升級,在測試環境進行驗證,查看堆棧快照發現沒有此問題了。

原因探索

查 zipkin-reporter的 github:搜索 相應的資料

https://github.com/openzipkin/zipkin-reporter-java/issues?q=InMemoryReporterMetrics

找到此 下面這個issues:

https://github.com/openzipkin/zipkin-reporter-java/issues/139

修復代碼和驗證代碼:

https://github.com/openzipkin/zipkin-reporter-java/pull/119/files

對比兩個版本代碼的差異:

簡單的DEMO驗證:

  1. // 修復前的代碼: 
  2.   private final ConcurrentHashMap<Throwable, AtomicLong> messagesDropped = 
  3.       new ConcurrentHashMap<Throwable, AtomicLong>(); 
  4. // 修復后的代碼: 
  5.   private final ConcurrentHashMap<Class<? extends Throwable>, AtomicLong> messagesDropped = 
  6.       new ConcurrentHashMap<>(); 

修復后使用 這個key :Class 替換 Throwable。

簡單驗證:

解決方案

將zipkin-reporter 版本進行升級即可。使用下面依賴配置,引入的 zipkin-reporter版本為 2.8.4 。

  1. <!-- zipkin 依賴包 --> 
  2. <dependency> 
  3.   <groupId>io.zipkin.brave</groupId> 
  4.   <artifactId>brave</artifactId> 
  5.   <version>5.6.4</version> 
  6. </dependency> 

小建議:配置JVM參數的時候還是加上下面參數,設置內存溢出的時候輸出堆棧快照.

  1. -XX:+HeapDumpOnOutOfMemoryError  
  2.  -XX:HeapDumpPath=path/filename.hprof  
  3.   

參考文章

記一次sleuth發送zipkin異常引起的OOM

https://www.jianshu.com/p/f8c74943ccd8

本文轉載自微信公眾號「Java編程技術樂園」,可以通過以下二維碼關注。轉載本文請聯系Java編程技術樂園公眾號。

 

責任編輯:武曉燕 來源: Java編程技術樂園
相關推薦

2024-10-10 15:32:51

2017-08-19 23:21:14

線上CPU定位

2023-03-20 17:27:54

Cpukafka

2019-06-24 08:17:55

CPUFullGCJava

2010-09-03 12:04:52

cpu100%

2022-12-09 14:40:16

CPU進程快速定位

2024-09-25 14:25:47

API接口

2017-04-07 14:00:02

程序猿SQL ServerCPU

2024-02-26 08:21:51

CPUkafka死循環

2024-07-18 20:18:51

2024-11-29 16:35:33

解決死鎖Java線程

2024-05-27 08:01:15

2021-10-18 22:29:54

OOMJava Out Of Memo

2019-06-12 15:07:24

JVMStackHeap

2021-11-23 21:21:07

線上排查服務

2025-07-31 04:22:00

2021-12-12 18:12:13

Hbase線上問題

2016-10-20 15:27:18

MySQLredo死鎖

2018-08-10 15:00:42

服務器內存排查

2024-08-14 14:20:00

點贊
收藏

51CTO技術棧公眾號

国产精品久久观看| 肥臀熟女一区二区三区| 亚洲三区欧美一区国产二区| 久久综合狠狠综合| 欧美裸身视频免费观看| 欧美一级裸体视频| 深夜福利免费在线观看| 亚洲成人精品| 欧美日韩在线三区| 欧美日韩精品免费看| 国产乡下妇女做爰| 亚洲精品一二三**| 亚洲婷婷综合久久一本伊一区| 日本三级韩国三级久久| 亚洲人人夜夜澡人人爽| 欧美福利精品| 国产一区二区丝袜| 亚洲天堂资源在线| 国产欧美熟妇另类久久久 | 91精品国产91久久久久| 国模精品娜娜一二三区| 精品一区二区在线观看视频| 成人美女视频| 99久久免费精品高清特色大片| 久久国产精品影视| 在线视频国产日韩| 大地资源第二页在线观看高清版| 国产情侣小视频| 亚洲传媒在线| 色先锋aa成人| 欧美三日本三级少妇三99| 国产微拍精品一区| 亚州av日韩av| 在线一区二区三区| 亚洲精品中字| 国产免费高清视频| 欧美破处大片在线视频| 精品少妇一区二区三区在线播放 | 人成在线免费视频| 香蕉视频成人在线观看| 国产网站欧美日韩免费精品在线观看 | 久久精品国产68国产精品亚洲| 欧美日韩黄色一区二区| 一区二区在线高清视频| 国产视频第一页| 在线国产欧美| 亚洲欧美制服综合另类| 欧美男女交配视频| www视频在线免费观看| 国产精品18久久久久久久久 | 涩涩涩在线视频| 久久一日本道色综合| 国产成人免费91av在线| 永久免费未视频| 777久久精品| 欧美日韩中文在线| 五月天亚洲综合| 性猛交xxxx乱大交孕妇印度| 在线亚洲免费| 久久精品在线播放| 日韩www视频| 亚洲精品555| 一区二区三区中文字幕精品精品| 久久99精品国产99久久| 在线观看国产小视频| 国产精品videosex极品| 国产视频欧美视频| 国产高清999| 悠悠资源网亚洲青| 日韩理论片在线| 久久国产手机看片| 国产哺乳奶水91在线播放| 亚洲国产日本| 日韩一区二区精品视频| 99re久久精品国产| 大胆国模一区二区三区| 一本大道综合伊人精品热热| 91社在线播放| 九色视频网站在线观看| 国产电影一区在线| 国产精品一区二区久久久| 日韩欧美中文字幕一区二区| 天堂美国久久| 亚洲欧美激情视频| 扒开伸进免费视频| 欧洲午夜精品| 色88888久久久久久影院按摩 | 免费在线观看av| 26uuu精品一区二区| 91免费看蜜桃| 一级α片免费看刺激高潮视频| 国产农村妇女精品一二区| 欧美猛交ⅹxxx乱大交视频| 女人十八毛片嫩草av| 欧美亚洲色图校园春色| 日韩欧美国产一二三区| 一个色综合久久| 国产精品久久久久av电视剧| 午夜av电影一区| 欧美交换配乱吟粗大25p| 中文字幕在线播放| 久久久久国产精品麻豆ai换脸| 国内一区在线| 亚洲第一天堂在线观看| 久久99久久99精品免视看婷婷| 欧美影院久久久| 亚洲精品1区2区3区| 欧美午夜精品| 欧美国产第一页| 欧美极品aaaaabbbbb| 影音先锋日韩精品| 美女av一区二区三区| 在线免费看av网站| 国产精品二区不卡| 久久亚洲成人精品| 日本在线一级片| 欧美一区不卡| 欧美大片免费观看在线观看网站推荐| 裸体武打性艳史| 在线成人超碰| 欧美第一页在线| 国产在线观看你懂的| 在线日韩电影| 91国产精品电影| 日本视频在线观看免费| 老司机午夜精品视频在线观看| 日韩av电影院| 岳乳丰满一区二区三区| 激情综合网激情| 亚洲综合大片69999| 亚洲av无码国产精品永久一区 | 丝袜美腿美女被狂躁在线观看| 中文子幕无线码一区tr | 欧美精选一区二区三区| 中文字幕视频一区二区在线有码| 色www亚洲国产阿娇yao| 久久久9色精品国产一区二区三区| 日韩中文字幕在线视频| 国产大片免费看| 亚洲国产二区| 国产精品h片在线播放| 国产成人精品一区二区色戒| 久草这里只有精品视频| 99精品国产一区二区| 天天干天天色天天| 国产欧美精品区一区二区三区| 一区二区三区免费看| 亚洲精品天堂| 欧美视频在线观看 亚洲欧| 欧美极品欧美精品欧美图片| 欧美日一区二区三区| 91精品国产综合久久国产大片 | 黄色精品视频网站| 91精品国产aⅴ一区二区| 师生出轨h灌满了1v1| 色先锋久久影院av| 日日噜噜噜夜夜爽亚洲精品| 欧美成人手机视频| 久久久久久夜| 97人人模人人爽人人少妇| 偷拍自拍在线| 亚洲天堂网中文字| 日韩久久一级片| 国产精品一区三区在线观看| 亚洲国产中文字幕久久网 | 亚洲三级在线看| 男人添女人荫蒂免费视频| 欧美日韩五码| 亚洲电影第1页| 国产精品一区二区亚洲| 日韩视频三区| 亚洲精品欧美日韩专区| 午夜成人免费影院| 综合网在线视频| 成人在线观看黄| 999国产精品一区| 中文字幕亚洲精品| www.伊人久久| 国产成人精品免费在线| 亚洲国产一区二区在线| 国产在线精彩视频| 欧美一级免费观看| 青青草自拍偷拍| 亚洲综合99| 国产精品久久久久久久久久久久午夜片| www.成人.com| 黑人与娇小精品av专区| 国产精九九网站漫画| 欧美xxxx中国| 国产成人精品久久亚洲高清不卡| 日批视频在线播放| 亚洲国产成人va在线观看天堂| 性生生活大片免费看视频| 精品日韩免费| 欧美在线观看网址综合| 乱色精品无码一区二区国产盗| 亚洲欧美日韩国产综合| 在线观看岛国av| 久久成人综合| 国产精品免费视频久久久| 麻豆影视在线| 欧美性xxxx极品hd满灌| 亚洲一区二区三区四区五区六区| 欧美精品97| 99久热re在线精品视频| 在线观看三级视频| 欧美一区二区三区在线看 | 亚洲高清在线视频| aaa黄色大片| 国产精品久久| 成人免费视频观看视频| 人妖欧美1区| 欧美www视频| 久久久久无码国产精品| 国产xxx精品视频大全| 国产成人亚洲综合无码| 视频精品二区| 久久久久久97| 午夜性色福利视频| 欧美性猛交xxxx乱大交3| 91网站免费视频| 日日欢夜夜爽一区| 亚洲一区二区三区精品动漫| 久久精品超碰| 不卡av在线播放| 亚洲男女视频在线观看| 午夜精品123| 中文字幕 自拍| 老司机精品视频一区二区三区| 永久久久久久| 9l亚洲国产成人精品一区二三| 国产综合在线看| 欧美日韩国产亚洲沙发| 欧美日韩一区 二区 三区 久久精品| 国产精品综合激情| 国产精品系列在线观看| 久久精品国产sm调教网站演员| 亚洲精品动态| 国产噜噜噜噜久久久久久久久| 黄色免费网站在线| 精品av综合导航| 怡红院av久久久久久久| 亚洲欧美在线视频| 亚洲啪av永久无码精品放毛片 | 欧美特黄aaa| 亚洲小说欧美另类婷婷| 欧美一区二区三区四区在线观看地址| 国产精品伦一区二区| 久久亚洲私人国产精品va| 手机av在线免费观看| 欧美影院午夜播放| 国产精品不卡av| 欧美国产精品劲爆| 免费黄色a级片| 奇米一区二区三区| 国产 欧美 日韩 一区| 精品久久久久久久久久久下田 | 国产成人三级一区二区在线观看一| 亚洲aaa精品| 男人的午夜天堂| 99精品久久免费看蜜臀剧情介绍| 校园春色 亚洲色图| 亚洲午夜久久久久久尤物| 日韩福利一区二区三区| 91麻豆精品国产91久久久久推荐资源| 日韩免费中文字幕| 免费毛片在线看片免费丝瓜视频 | 色www亚洲国产阿娇yao| 91在线视频免费观看| 一级黄色片国产| 丝袜美腿亚洲色图| 国产精品入口芒果| 欧美一区亚洲| 视频一区不卡| 亚州精品视频| 国产精品免费视频一区二区 | 欧美日韩成人在线一区| 日本韩国欧美中文字幕| 一区二区三区不卡视频| 国产91在线播放九色| 久久色.com| av漫画在线观看| 国产伦精品一区二区三区免费迷 | 青青艹视频在线| 欧美三级不卡| 超碰在线免费观看97| 成人综合专区| 欧美日韩在线不卡一区| 日韩mv欧美mv国产网站| 懂色av一区二区三区在线播放| 96视频在线观看欧美| 国产精品欧美在线| 亚州一区二区三区| 日本一区二区三区在线播放| 九色porny丨入口在线| 久久久久久久久久婷婷| 女子免费在线观看视频www| 久久精品中文字幕免费mv| 日本a在线播放| 中文字幕在线视频日韩| 丁香婷婷在线| 在线中文字幕日韩| 川上优的av在线一区二区| 亚洲天堂精品在线| 人成在线免费视频| 亚洲精品一区二区久| 青青草免费在线| 精品丝袜一区二区三区| 日av在线播放| 亚洲一区二区国产| 黄色片免费在线| 亚洲人成在线电影| 粉嫩av一区| 色偷偷9999www| 九义人在线观看完整免费版电视剧| 中文字幕少妇一区二区三区| 免费超碰在线| 欧美精品情趣视频| 美女精品视频| 69久久夜色精品国产7777| 久久久久久久| 国产精品日本精品| 成人午夜888| 高清日韩一区| 五月天亚洲色图| 欧美一区二区三区精美影视| 波多野结衣一区| 国产又粗又硬又长| 亚洲性人人天天夜夜摸| 激情五月开心婷婷| 免费观看日韩av| 日本网站在线看| www.亚洲人| x88av在线| 亚洲蜜桃精久久久久久久| 欧美人妻精品一区二区三区| 欧美日韩国产激情| 中文字幕一区二区人妻视频| 欧美乱妇一区二区三区不卡视频| 国产又粗又猛又爽又黄的| 日韩美女在线视频| 久久视频www| 久久综合九色九九| 黄色激情在线播放| 国产欧美日韩中文| 伊人久久影院| 日本免费高清不卡| 伊人久久大香线| 欧美黄色免费影院| 激情文学综合插| 亚洲中文字幕无码av| 日本一区二区成人| 日本免费在线播放| 欧美中文字幕亚洲一区二区va在线| 国产欧美综合视频| 亚洲日本中文字幕免费在线不卡| 黄av在线播放| 欧美有码在线观看视频| 欧美国产亚洲精品| 欧美在线播放一区| 欧美精品三区| 亚洲不卡视频在线| 成人黄色在线视频| 操她视频在线观看| 欧美性猛交xxxx乱大交| 亚洲av无码一区二区三区dv| 尤物九九久久国产精品的特点| 成人免费高清观看| 国产欧美在线视频| 亚洲va久久| 日本一级黄视频| 蜜臂av日日欢夜夜爽一区| 久久福利小视频| 玉足女爽爽91| 91禁在线观看| 亚洲日本成人网| 伊人网在线播放| 国产在线一区二区三区四区| 亚洲欧美综合久久久| 天天干天天干天天干天天干天天干| 成人激情黄色小说| 欧美成欧美va| 在线不卡免费欧美| av免费观看一区二区| 青青在线视频一区二区三区| 国产精品美女在线观看直播| 欧美 国产 精品| 精品综合久久久久久8888| 国产又黄又粗的视频| 色综合天天综合在线视频| 农村少妇久久久久久久| 久久成年人免费电影| 久久精品国产福利| 五月天综合网| 日本不卡视频一二三区| 国产黄色网址在线观看| 无码av免费一区二区三区试看| 国产jzjzjz丝袜老师水多 | 欧洲精品久久| 久久中文字幕一区二区三区|