最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java內存泄漏問題處理方法經驗總結

 更新時間:2019年01月14日 14:58:23   作者:魔刀霍霍  
今天小編就為大家分享一篇關于Java內存泄漏問題處理方法經驗總結,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

JVM問題,一般會有三種情況,目前遇到了兩種,線程溢出和JVM不夠用

1.線程溢出:unable to create new native thread

1.1問題描述:

系統(tǒng)在1月4號左右,突然發(fā)現會產生內存溢出問題,從日志上看,錯誤信息為:

導致系統(tǒng)不能使用,對外不能相應,但是觀察gc等又處于正常情況,free 系統(tǒng)內存也正常。開始重啟機器進行解決,真正的原因查找,過程比較坎坷,經歷也比較痛苦。

1.2 問題解決

  • pstree查看線程數,發(fā)現系統(tǒng)線程數不斷增長,直到OOM。

命令:pstree  -p pid (對該項已經加了監(jiān)控)

  • 線程過多導致的內存溢出,但是那里的線程過多呢?!

我們實現了ThreadFactory,通過它,給線程的加一個前綴。來標記線程所屬。重現問題后,發(fā)現是task模塊的TaskScheduler的定時任務中,在方法內使用

ExecutorService taskExecutor = Executors.newFixedThreadPool(nThreads);

taskExecutor.invokeAll(tasks);

導致回收不及時,發(fā)生了問題。

2.內存溢出:老生代100%無法及時回收

2.1問題現象:

1月31號,中午中影突然所有的機器陸續(xù)出現不能工作的現象,日志中看不到OOM錯誤,但是不能訪問服務,或者訪問非常的慢,觀察jmap -heap發(fā)現老生代占用達到99%以上(不同版本JDK顯示可能不一樣。)

2.2 問題解決:

1、查看對內存使用情況,發(fā)現存在JVM堆內存不能釋放的問題

  •    命令:jmap -heap pid   此命令有時候,會執(zhí)行卡頓,不建議加監(jiān)控
  •    語法:jmap - heap pid

2、進一步查看gc回收情況,發(fā)現FGC頻率高,而且時間長,且回收不給力。

  • 命令:jstat -gcutil pid
  • 語法:jstat [ generalOption | outputOptions vmid [interval[s|ms] [count]] ]

3、查看JVM堆中具體有哪些對象。發(fā)現不正常,Byte數組占用過大。實例達到1億兩千萬,大小竟然有4g(3958M).同時,訂單、hibernate引擎、mysql結果集類實例都很多。

  • 命令:jmap -histo
  • 語法:jmap -histo[:live] pid

4、查看Mysql慢查詢,發(fā)現確實找達到問題原因。

命令1:mysql數據庫上查看,所有的。

命令2:查看當前慢查詢

SELECT * from information_schema.`PROCESSLIST` ;(簡化版:show PROCESSLIST)

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

相關文章

  • 淺談springboot多模塊(modules)開發(fā)

    淺談springboot多模塊(modules)開發(fā)

    這篇文章主要介紹了淺談springboot多模塊(modules)開發(fā),詳細的介紹了springboot多模塊的實現,有興趣的可以了解一下
    2017-09-09
  • maven環(huán)境變量配置以及失敗原因解析

    maven環(huán)境變量配置以及失敗原因解析

    這篇文章主要為大家詳細介紹了maven環(huán)境變量配置教程,以及為大家解析了安裝失敗的原因,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • IDEA java出現無效的源發(fā)行版14解決方案

    IDEA java出現無效的源發(fā)行版14解決方案

    這篇文章主要介紹了IDEA java出現無效的源發(fā)行版14解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11
  • plantuml畫圖實現代碼畫時序圖UML用例圖

    plantuml畫圖實現代碼畫時序圖UML用例圖

    這篇文章主要為大家介紹了plantuml畫圖實現代碼畫時序圖示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • 使用MDC實現日志鏈路跟蹤

    使用MDC實現日志鏈路跟蹤

    這篇文章主要介紹了使用MDC實現日志鏈路跟蹤,在微服務環(huán)境中,我們經常使用Skywalking、CAT等去實現整體請求鏈路的追蹤,但是這個整體運維成本高,架構復雜,我們來使用MDC通過Log來實現一個輕量級的會話事務跟蹤功能,下面就來看看具體的過程吧,需要的朋友可以參考一下
    2022-01-01
  • JAVA中STRING的常用方法小結

    JAVA中STRING的常用方法小結

    這篇文章介紹了JAVA中STRING的常用方法,有需要的朋友可以參考一下
    2013-09-09
  • 淺談Servlet開發(fā)技術基礎

    淺談Servlet開發(fā)技術基礎

    這篇文章主要介紹了淺談Servlet開發(fā)技術基礎,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • Java實現利用廣度優(yōu)先遍歷(BFS)計算最短路徑的方法

    Java實現利用廣度優(yōu)先遍歷(BFS)計算最短路徑的方法

    這篇文章主要介紹了Java實現利用廣度優(yōu)先遍歷(BFS)計算最短路徑的方法,實例分析了廣度優(yōu)先遍歷算法的原理與使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-04-04
  • java實現遞歸文件列表的方法

    java實現遞歸文件列表的方法

    這篇文章主要介紹了java實現遞歸文件列表的方法,實例分析了java采用遞歸算法遍歷文件的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • java清除u盤內存卡里的垃圾文件示例

    java清除u盤內存卡里的垃圾文件示例

    手機內存卡空間被用光了,但又不知道哪個文件占用了太大,一個個文件夾去找又太麻煩,開發(fā)了個小程序把手機所有文件(包括路徑下所有層次子文件夾下的文件)進行一個排序,這樣你就可以找出哪個文件占用了內存太大了
    2014-02-02

最新評論

兴城市| 新巴尔虎左旗| 五莲县| 忻城县| 高阳县| 丘北县| 布拖县| 白河县| 凌海市| 利津县| 平远县| 芦山县| 巴马| 赤城县| 客服| 准格尔旗| 广东省| 文山县| 鄂温| 盐山县| 林周县| 章丘市| 英山县| 莲花县| 陆川县| 湘阴县| 潼南县| 吉安市| 泾源县| 锦屏县| 桑植县| 南靖县| 册亨县| 民权县| 历史| 荆门市| 仙游县| 馆陶县| 兴仁县| 峨边| 额尔古纳市|