91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-09-10 19:30:53 來源:腳本之家 閱讀:159 作者:魔刀霍霍 欄目:編程語言

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

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

1.1問題描述:

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

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

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

1.2 問題解決

  • pstree查看線程數,發現系統線程數不斷增長,直到OOM。

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

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

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

ExecutorService taskExecutor = Executors.newFixedThreadPool(nThreads);

taskExecutor.invokeAll(tasks);

導致回收不及時,發生了問題。

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

2.1問題現象:

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

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

2.2 問題解決:

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

  •    命令:jmap -heap pid   此命令有時候,會執行卡頓,不建議加監控
  •    語法:jmap - heap pid

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

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

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

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

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

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

命令2:查看當前慢查詢

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

總結

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

蛟河市| 温泉县| 临颍县| 南平市| 田林县| 华池县| 阿勒泰市| 普兰店市| 英超| 斗六市| 克拉玛依市| 洪洞县| 棋牌| 黑河市| 西乌| 贵州省| 依安县| 丹江口市| 金坛市| 北京市| 吉林市| 汉川市| 聂拉木县| 布尔津县| 河间市| 洮南市| 甘孜| 平果县| 礼泉县| 信阳市| 湖口县| 武胜县| 龙陵县| 剑河县| 益阳市| 济宁市| 凤山县| 泾源县| 天等县| 壶关县| 井研县|