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

排查Java應(yīng)用內(nèi)存泄漏問題的步驟

 更新時間:2020年11月24日 09:50:00   作者:西北偏北  
這篇文章主要介紹了排查Java應(yīng)用內(nèi)存泄漏問題的步驟,幫助大家更好的理解和學(xué)習(xí)Java,感興趣的朋友可以了解下

什么是內(nèi)存泄漏

內(nèi)存泄漏是指java應(yīng)用的堆內(nèi)存使用率持續(xù)升高,直至內(nèi)存溢出。
內(nèi)存泄漏的的原因可能有多種

  • 分配給應(yīng)用程序的內(nèi)存本身過小。而應(yīng)用的業(yè)務(wù)代碼,確實需要生成大量的對象
  • 代碼bug,某些需要被回收的對象,由于代碼bug,卻持續(xù)的被引用,導(dǎo)致java虛擬機(jī)無法回收這些對象。從而撐爆內(nèi)存

無論哪種內(nèi)存泄露,我們的解決方法都是要定位到具體是什么對象,占用了大量內(nèi)存,從而方便我們基于此進(jìn)行代碼分析,debug,找出代碼問題。
而能夠幫助我們實現(xiàn)這一目的的方式就是獲取java應(yīng)用的內(nèi)存 dump

如何獲取內(nèi)存dump

使用命令獲取jcmd

首先需要獲取java 進(jìn)程id,獲取到j(luò)ava進(jìn)程后
使用命令

jcmd <pid> GC.heap_dump <file-path>

如果執(zhí)行報錯

com.sun.tools.attach.AttachNotSupportedException: Unable to open socket file: target process not responding or HotSpot VM not loaded

一般是由于執(zhí)行jcmd的用戶同java應(yīng)用本身不是同一個用戶。解決辦法是切換到應(yīng)用對應(yīng)的用戶下再執(zhí)行上述命令

sudo -u [userid] /jcmd <pid> GC.heap_dump <file-path>

如果應(yīng)用在本地

如果應(yīng)用是在本地,除了用上述方法外,還可以用JVisualVM 、JConsole

程序異常退出時自動dump

但更為重要的,為了準(zhǔn)確還原應(yīng)用故障的現(xiàn)場,最好通過指定java 執(zhí)行參數(shù),在程序出錯時,自動dump

java -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=<file-or-dir-path>

如何分析內(nèi)存dump

獲取到dump文件后,需要使用eclipse.org 出品的 Memory Analyzer 工具。使用其中的Dominator Tree,查看各對象的內(nèi)存占用情況

找出占用內(nèi)存最多的對象及其類信息

以上就是排查Java應(yīng)用內(nèi)存泄漏問題的步驟的詳細(xì)內(nèi)容,更多關(guān)于Java應(yīng)用內(nèi)存泄漏的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Java利用Netty時間輪實現(xiàn)延時任務(wù)

    Java利用Netty時間輪實現(xiàn)延時任務(wù)

    時間輪是一種可以執(zhí)行定時任務(wù)的數(shù)據(jù)結(jié)構(gòu)和算法。本文將為大家詳細(xì)講解一下Java如何利用Netty時間輪算法實現(xiàn)延時任務(wù),感興趣的小伙伴可以了解一下
    2022-08-08
  • Java swing仿酷狗音樂播放器

    Java swing仿酷狗音樂播放器

    這篇文章主要為大家詳細(xì)介紹了Java swing實現(xiàn)音樂播放器,Java開發(fā)圖形界面程序音樂播放器仿酷狗音樂播放器,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • java實現(xiàn) 二叉搜索樹功能

    java實現(xiàn) 二叉搜索樹功能

    這篇文章主要介紹了java實現(xiàn) 二叉搜索樹功能,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-07-07
  • 詳解Java的Spring框架中的注解的用法

    詳解Java的Spring框架中的注解的用法

    這篇文章主要介紹了Java的Spring框架中的注解的用法,包括對Java bean的定義的作用介紹,需要的朋友可以參考下
    2015-11-11
  • Mybatis傳單個參數(shù)和<if>標(biāo)簽同時使用的問題及解決方法

    Mybatis傳單個參數(shù)和<if>標(biāo)簽同時使用的問題及解決方法

    這篇文章主要介紹了Mybatis傳單個參數(shù)和<if>標(biāo)簽同時使用的問題及解決方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-05-05
  • 詳談fastjson將對象格式化成json時的兩個問題

    詳談fastjson將對象格式化成json時的兩個問題

    下面小編就為大家?guī)硪黄斦刦astjson將對象格式化成json時的兩個問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • springboot中@PostConstruct注解使用小結(jié)

    springboot中@PostConstruct注解使用小結(jié)

    本文主要介紹了springboot中@PostConstruct注解使用小結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-01-01
  • Java?Process中waitFor()的問題詳解

    Java?Process中waitFor()的問題詳解

    這篇文章主要給大家介紹了關(guān)于Java?Process中waitFor()問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2022-12-12
  • Java中數(shù)組的定義和使用教程(二)

    Java中數(shù)組的定義和使用教程(二)

    這篇文章主要給大家介紹了關(guān)于Java中數(shù)組的定義和使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • String split方法實現(xiàn)過程圖解

    String split方法實現(xiàn)過程圖解

    這篇文章主要介紹了String split方法實現(xiàn)過程圖解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11

最新評論

九寨沟县| 堆龙德庆县| 马关县| 基隆市| 思茅市| 资溪县| 靖宇县| 华宁县| 根河市| 吉林市| 聊城市| 随州市| 盈江县| 息烽县| 婺源县| 保亭| 北京市| 阜南县| 江都市| 德州市| 綦江县| 临洮县| 凉山| 邵东县| 依安县| 海伦市| 锡林郭勒盟| 蓬溪县| 新丰县| 梧州市| 建昌县| 泌阳县| 汉中市| 潮州市| 星子县| 铜山县| 饶阳县| 元谋县| 胶南市| 江北区| 房产|