亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java內(nèi)存泄漏問題處理方法經(jīng)驗(yàn)總結(jié)

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

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

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

1.1問題描述:

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

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

1.2 問題解決

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

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

  • 線程過多導(dǎo)致的內(nèi)存溢出,但是那里的線程過多呢?!

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

ExecutorService taskExecutor = Executors.newFixedThreadPool(nThreads);

taskExecutor.invokeAll(tasks);

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

2.內(nèi)存溢出:老生代100%無法及時回收

2.1問題現(xiàn)象:

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

2.2 問題解決:

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

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

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

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

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

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

4、查看Mysql慢查詢,發(fā)現(xiàn)確實(shí)找達(dá)到問題原因。

命令1:mysql數(shù)據(jù)庫上查看,所有的。

命令2:查看當(dāng)前慢查詢

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

總結(jié)

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

相關(guān)文章

  • Java安全之Mojarra?JSF反序列化講解

    Java安全之Mojarra?JSF反序列化講解

    JSF?和類似的?Web?技術(shù)之間的區(qū)別在于?JSF?使用?ViewStates(除了會話)來存儲視圖的當(dāng)前狀態(tài)(例如,當(dāng)前應(yīng)該顯示視圖的哪些部分),這篇文章主要介紹了Java安全之Mojarra?JSF反序列化知識講解,包括漏洞復(fù)現(xiàn)和漏洞分析,需要的朋友可以參考下
    2022-11-11
  • Jenkins源代碼管理SVN實(shí)現(xiàn)步驟解析

    Jenkins源代碼管理SVN實(shí)現(xiàn)步驟解析

    這篇文章主要介紹了Jenkins源代碼管理SVN實(shí)現(xiàn)步驟解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • JDK1.8安裝與配置超詳細(xì)教程

    JDK1.8安裝與配置超詳細(xì)教程

    JDK1.8即為JDK8,JDK8是目前是最成熟最穩(wěn)定的版本,本文將詳細(xì)介紹JDK1.8的安裝與配置,需要的朋友可以參考下
    2023-03-03
  • Spring Bean的定義及三種創(chuàng)建方式

    Spring Bean的定義及三種創(chuàng)建方式

    本文主要介紹了Spring容器獲取Bean的9種方式小結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • Java中的流式編程問題

    Java中的流式編程問題

    這篇文章主要介紹了Java中的流式編程問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • SSM 整合的配合文件(分享)

    SSM 整合的配合文件(分享)

    下面小編就為大家分享一篇SSM 整合的配合文件,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • Java編程實(shí)現(xiàn)統(tǒng)計一個字符串中各個字符出現(xiàn)次數(shù)的方法

    Java編程實(shí)現(xiàn)統(tǒng)計一個字符串中各個字符出現(xiàn)次數(shù)的方法

    這篇文章主要介紹了Java編程實(shí)現(xiàn)統(tǒng)計一個字符串中各個字符出現(xiàn)次數(shù)的方法,涉及java針對字符串的遍歷、判斷、運(yùn)算等相關(guān)操作技巧,需要的朋友可以參考下
    2017-12-12
  • 使用@RequestParam 綁定List參數(shù)

    使用@RequestParam 綁定List參數(shù)

    這篇文章主要介紹了使用@RequestParam 綁定List參數(shù)的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Mybatis-Plus實(shí)現(xiàn)用戶ID自增出現(xiàn)的問題解決

    Mybatis-Plus實(shí)現(xiàn)用戶ID自增出現(xiàn)的問題解決

    項(xiàng)目基于 SpringBoot + MybatisPlus 3.5.2 使用數(shù)據(jù)庫自增ID時, 出現(xiàn)重復(fù)鍵的問題,本文就來介紹一下解決方法,感興趣的可以了解一下
    2023-09-09
  • JDBC連接數(shù)據(jù)庫的方法匯總

    JDBC連接數(shù)據(jù)庫的方法匯總

    這篇文章主要介紹了JDBC連接數(shù)據(jù)庫的方法,結(jié)合實(shí)例形式總結(jié)分析了JDBC連接各種常見數(shù)據(jù)庫的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2016-08-08

最新評論