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

国产欧美久久久精品影院| 欧美超碰在线| 黄网站色欧美视频| 精品亚洲一区二区三区四区五区高| 久久免费视频播放| 精品中文在线| 亚洲成av人在线观看| 久久精品日韩精品| 亚洲成熟少妇视频在线观看| 欧美三级美国一级| 91麻豆精品国产91久久久| 日本免费a视频| 欧美新色视频| 青青国产91久久久久久| 久久午夜a级毛片| 国产草草浮力影院| 成人在线高清| 香蕉影视欧美成人| 亚洲一区三区| 神马久久久久久久久久| 久久蜜桃精品| 美日韩在线视频| 日本japanese极品少妇| 福利一区二区三区视频在线观看 | 久久精品99国产精品酒店日本| 国产九九九视频| 中文av在线全新| √…a在线天堂一区| 91亚洲精华国产精华| 国产午夜在线播放| 亚洲人metart人体| 亚洲色图17p| 欧美做受高潮中文字幕| 日本黄色一区| 精品美女永久免费视频| 一区二区三区电影| 日本高清视频www| 久久精品国产网站| 国产91精品久久久| 欧美精品一区二区蜜桃| 日韩精品诱惑一区?区三区| 亚洲国产精品大全| 一级黄色高清视频| 成人亚洲网站| 日韩欧美在线视频观看| 久久av喷吹av高潮av| 免费人成黄页在线观看忧物| 国产**成人网毛片九色| 国产精品爽爽爽| 亚洲婷婷综合网| 最新国产乱人伦偷精品免费网站| 久久久国产精彩视频美女艺术照福利| 草草影院第一页| 欧美激情久久久久久久久久久| 91精品国产综合久久精品麻豆| 久久久久国产精品熟女影院| 午夜影院在线播放| 午夜久久久久久电影| 法国空姐在线观看免费| 日本网站在线免费观看视频| 国产日本一区二区| 免费久久久一本精品久久区| 国产日韩精品suv| 久久国产精品色婷婷| 国产精品xxx视频| youjizz在线视频| 另类国产ts人妖高潮视频| 国产91精品久| 国产精品久久久久久99| 国产日本精品| 欧美在线不卡区| 天堂中文在线网| 免费亚洲一区| 欧美在线视频观看| 九九热在线视频播放| 国产女优一区| 日韩av三级在线观看| 国内自拍视频在线播放| 久久精品盗摄| 国产色综合天天综合网| 国产精品视频一二区| 国产在线视视频有精品| 97夜夜澡人人双人人人喊| 亚洲黄色一级大片| 成人高清视频在线| 欧美高清性xxxxhd| 97电影在线看视频| 亚洲女爱视频在线| 无码人妻精品一区二区蜜桃网站| 东热在线免费视频| 国产精品家庭影院| 公共露出暴露狂另类av| 亚洲性图自拍| 婷婷丁香久久五月婷婷| 免费毛片网站在线观看| 午夜影院在线观看国产主播| 在线精品视频免费播放| 亚洲第一天堂久久| 亚洲国产高清在线观看| 日韩电影免费观看中文字幕| 久久精品国产亚洲AV熟女| 日韩aaaa| 欧美疯狂xxxx大交乱88av| 在线免费日韩av| 国产精品日本| 国产精品永久在线| 亚洲精品成人电影| 国产亚洲一区二区三区四区 | 别急慢慢来1978如如2| 国产成人精品视频ⅴa片软件竹菊| 免费在线国产视频| 欧美视频国产精品| 制服丝袜激情欧洲亚洲| 九九爱精品视频| 蜜桃av在线| 欧美视频一区二区三区在线观看| 国产一区二区在线观看免费视频| 国产精品亚洲成在人线| 精品国产自在久精品国产| 精品少妇人妻一区二区黑料社区| 国产在线播放精品| 尤物九九久久国产精品的特点| 久久久久久久黄色| 精品亚洲国内自在自线福利| 欧美日韩最好看的视频| 91在线观看欧美日韩| 高潮毛片又色又爽免费| 成人午夜电影久久影院| 在线一区高清| 四虎4545www精品视频| 亚洲第一页在线| www.毛片com| 日韩av电影一区| 欧美成人在线免费观看| caoporn-草棚在线视频最| 欧美日韩国产另类一区| 国产女主播喷水高潮网红在线| 激情综合自拍| av免费精品一区二区三区| 国产三区在线观看| 欧美精品在线视频| 超碰人人人人人人人| 视频一区欧美日韩| 欧美xxxx黑人又粗又长精品| 免费h在线看| 亚洲第一中文字幕在线观看| 在线观看成人毛片| 精彩视频一区二区三区| 婷婷四月色综合| 99只有精品| 最近中文字幕2019免费| 亚洲图片视频小说| 国产精品三级在线观看| 国产精品区在线| 日本久久黄色| 国产一区私人高清影院| 18免费在线视频| 欧美三级电影一区| 少妇高潮在线观看| 国内精品伊人久久久久影院对白| 中文字幕在线亚洲三区| 在线成人免费| 欧美多人爱爱视频网站| 色窝窝无码一区二区三区成人网站 | 樱花影视一区二区| 9.1在线观看免费| 精品白丝av| 久久av一区二区| 丝袜诱惑一区二区| 亚洲欧美日韩久久久久久 | 日韩一区二区视频| 加勒比av在线播放| 99视频超级精品| 人妻少妇被粗大爽9797pw| 黑丝美女一区二区| 成人免费午夜电影| 波多野结衣在线高清| 日韩高清中文字幕| 在线免费看av片| 亚洲一区在线视频| 手机av免费看| 老司机一区二区| 欧美黄网在线观看| 亚洲97av| 91久久精品国产91性色| 成人在线黄色电影| 这里只有精品在线观看| 99国产精品99| 色婷婷av一区二区三区软件| 黑人狂躁日本娇小| av亚洲精华国产精华| 免费看污黄网站| 欧美激情视频一区二区三区免费| 精品国产一区二区三区麻豆免费观看完整版 | 国产精品女视频| 免费在线观看的电影网站| 亚洲美女免费精品视频在线观看| 瑟瑟视频在线免费观看| 亚洲一区二区欧美激情| 中文字幕人妻一区二区三区在线视频| 国产揄拍国内精品对白| 日韩少妇内射免费播放18禁裸乳| 国产精品不卡| 久久一区二区三区av| 久久人妻少妇嫩草av无码专区 | 亚洲ww精品| 6080yy精品一区二区三区| 日本在线人成| 亚洲色图第一页| 黄色www视频| 777奇米成人网| 在线观看 亚洲| 亚洲国产乱码最新视频| 小早川怜子一区二区的演员表| av中文字幕不卡| 手机av在线网站| 日韩高清不卡在线| 国产3p露脸普通话对白| 91精品电影| 午夜欧美一区二区三区免费观看| 风间由美性色一区二区三区四区| 国产日韩亚洲欧美| 美女网站视频一区| 欧美一级bbbbb性bbbb喷潮片| 天堂av最新在线| 蜜臀久久99精品久久久久久宅男 | 午夜视频免费在线| 日韩一级大片在线观看| 亚洲天堂自拍偷拍| 欧美在线看片a免费观看| 日本黄色片视频| 亚洲影视在线播放| 久久久久久久久久网站| 亚洲欧美一区二区在线观看| 黄色免费一级视频| 国产天堂亚洲国产碰碰| 中文精品在线观看| 99久久精品国产麻豆演员表| 手机免费看av片| 成人在线综合网站| 丰满岳乱妇一区二区| 成人精品电影在线观看| 无码人妻一区二区三区一| 国产一区不卡视频| 在线观看视频在线观看| 久久99国产精品免费网站| wwww.国产| 美女网站在线免费欧美精品| 天天插天天操天天射| 日韩电影在线观看电影| 91av俱乐部| 免费观看日韩电影| 亚洲综合av在线播放| 精品一区中文字幕| 四虎成人在线播放| 成人免费视频国产在线观看| 亚洲精品第二页| 久久综合久久综合久久| 欧美熟妇一区二区| 国产欧美视频一区二区三区| 蜜桃久久精品成人无码av| 中文一区在线播放| 一级免费黄色录像| 亚洲午夜av在线| 国产精品100| 日本黄色一区二区| 91国内精品久久久| 欧美电影免费提供在线观看| 四虎永久在线精品免费网址| 国产视频精品久久久| 成全电影播放在线观看国语| 日韩在线视频观看| 18在线观看的| 91超碰caoporn97人人| 成人涩涩视频| 亚洲综合精品伊人久久| 国产乱论精品| 色一情一乱一伦一区二区三区丨| 五月精品视频| 久久国产精品视频在线观看| 天堂久久一区二区三区| 污污网站在线观看视频| 成人一区二区在线观看| 国产交换配乱淫视频免费| 中文字幕中文字幕一区| 日本中文字幕免费观看| 欧美综合天天夜夜久久| 国产三级第一页| 亚洲精品综合久久中文字幕| 日本在线人成| 热久久免费视频精品| 台湾天天综合人成在线| 国产一区二区精品在线| 欧美xxav| 欧美污视频网站| 国产白丝精品91爽爽久久| 欧美偷拍一区二区三区| 亚洲综合激情网| 中文在线免费看视频| 欧美精品一区二区三区很污很色的 | 国产在线精品一区二区三区不卡| 亚洲国产精品自拍视频| 综合在线观看色| 国产精品suv一区| 欧美成人国产一区二区| www.在线播放| 国产91精品久久久| 伊人www22综合色| 在线免费观看一区二区三区| 亚洲综合三区| 在线中文字日产幕| 中文字幕在线一区免费| 亚洲精品男人的天堂| 欧美成人精品高清在线播放| 日韩免费啪啪| 国产成人精品视频在线| 久久超级碰碰| www.在线观看av| 激情综合网av| 色www亚洲国产阿娇yao| 色天使色偷偷av一区二区| 深爱五月激情五月| 欧美精品videos| 九九九九九九精品任你躁| 亚洲午夜精品福利| 日韩不卡一区二区| 一区二区三区四区免费| 亚洲国产成人精品视频| 性生活黄色大片| 另类色图亚洲色图| 色综合视频一区二区三区日韩 | 精品视频全国免费看| 青青青手机在线视频观看| 91av国产在线| 精品国产影院| aa视频在线播放| 国产不卡视频在线观看| 久草视频在线免费看| 欧美一区二区三区思思人| 精品国产白色丝袜高跟鞋| 国产色婷婷国产综合在线理论片a| 精品国产乱码久久久| 能在线观看的av网站| 久久午夜色播影院免费高清| 久久国产视频一区| 亚洲四色影视在线观看| 欧洲精品一区二区三区| 日韩高清国产精品| 青青草国产精品亚洲专区无| 91精品久久久久久久久久久久| 日本韩国欧美国产| www.国产精品.com| 国产色视频一区| 在线精品国产| 成人一区二区三区仙踪林| 亚洲一区二三区| 视频一区 中文字幕| 欧美在线www| 成人在线免费观看视频| 8x8x成人免费视频| 一区二区欧美精品| 欧美视频一二区| 茄子视频成人在线| av一区二区在线播放| www.污污视频| 亚洲一区成人在线| 欧美白人做受xxxx视频| 国产精品欧美亚洲777777| 亚洲天天影视网| 伊人网综合视频| 欧美午夜视频网站| jizzjizz亚洲| 久久精品成人一区二区三区蜜臀| 久久国产一二区| 日韩精品123区| 亚洲国产97在线精品一区| 美女日韩欧美| 天天成人综合网| 成人a免费在线看| 进去里视频在线观看| 美女999久久久精品视频| 精品人人人人| 欧美成人黄色网址| 亚洲成人av电影在线| 黄色电影免费在线看| 亚洲自拍在线观看| 久色成人在线| 好吊色视频在线观看| 亚洲美女久久久| 日韩一区二区三区色| 国产a视频免费观看| 亚洲欧美日韩综合aⅴ视频| 天堂网在线观看视频| 成人性教育视频在线观看| 亚洲另类自拍| 国产精品视频一区二区三 | 中文字幕乱码av| 亚洲国产中文字幕久久网| 国产精品66| 免费成人在线视频网站|