亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

排查Java應用內存泄漏問題的步驟

瀏覽:35日期:2022-08-20 15:53:34

什么是內存泄漏

內存泄漏是指java應用的堆內存使用率持續升高,直至內存溢出。內存泄漏的的原因可能有多種

分配給應用程序的內存本身過小。而應用的業務代碼,確實需要生成大量的對象 代碼bug,某些需要被回收的對象,由于代碼bug,卻持續的被引用,導致java虛擬機無法回收這些對象。從而撐爆內存

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

如何獲取內存dump

使用命令獲取jcmd

首先需要獲取java 進程id,獲取到java進程后使用命令

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

如果執行報錯

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

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

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

如果應用在本地

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

程序異常退出時自動dump

但更為重要的,為了準確還原應用故障的現場,最好通過指定java 執行參數,在程序出錯時,自動dump

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

如何分析內存dump

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

排查Java應用內存泄漏問題的步驟

找出占用內存最多的對象及其類信息

排查Java應用內存泄漏問題的步驟

以上就是排查Java應用內存泄漏問題的步驟的詳細內容,更多關于Java應用內存泄漏的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
主站蜘蛛池模板: 在线 | 一区二区三区 | 春色视频一区二区三区 | 99精品视频在线观看免费播放 | 一级做a爱片久久毛片 | 一区二区在线视频观看 | 青青操免费在线视频 | 亚洲影音先锋看看 | 日本成日本片人免费 | 伊人婷婷色香五月综合缴缴情 | 亚洲欧美日本国产 | 最新永久一路线二路线三路线 | 一级黄色特级片 | 99久久久精品免费观看国产 | 国产探花在线视频 | 国产v综合v亚洲欧美大另类 | 久草资源在线播放 | 国产91po在线观看免费观看 | 欧美一区永久视频免费观看 | 国产情侣草莓视频在线 | 欧美精品国产一区二区 | 久久久中文字幕日本 | 最新国产在线播放 | 综合亚洲欧美日韩一区二区 | 日韩在线不卡视频 | 国产玖玖在线观看 | 丰满成熟亚洲人毛茸茸 | 国产在线永久视频 | 日产一区日产2区 | xxx本日| 亚洲欧美日韩精品久久奇米色影视 | 亚洲逼| 中美日韩在线网免费毛片视频 | 精品无人区一区二区三区a 精品无码一区在线观看 | 欧美人成a视频www | 国产中文字幕久久 | 日本tv欧美tv天堂 | 看日本真人一一级特黄毛片 | 搜索毛片 | 亚洲图片偷拍自拍 | 国产精品自拍第一页 | 免费特黄一区二区三区视频一 |