JVM(4)之 使用MAT排查堆溢出

為什么80%的碼農都做不了架構師?>>> ??hot3.png

接下來講解如何設置以及當發生堆溢出的時候怎么排查問題。先看一小段代碼:?
這里寫圖片描述?
??代碼中使用了一個無限循環來為list添加對象,如果采用默認的堆大小的話可能要等待好久才能出現堆溢出的錯誤,因此我們要將其設置小一點:?
??-Xms10m -Xmx10m -XX:+HeapDumpOnOutOfMemoryError,elipse中的設置方法我們在第一章講過了,這里不多說啦。-Xms10m,意思就是堆的最小內存為10m。同理-Xmx10m的意思就是最大內存也為10m。這兩個都是設置為10m,那么堆的大小就是10m。而-XX:+HeapDumpOnOutOfMemoryError指的是當發生內存溢出的時候會將當前的內存使用情況生成一個快照保存起來,但需要eclipse下載一個MAT的插件,下載方式度娘到處都是。?
??使用剛剛設置的參數啟動程序,稍等一小會就會出現以下錯誤:?
這里寫圖片描述?
??顯示出堆溢出錯誤,并且生成了一個叫做java_pid4792.hprof的文件,我們刷新項目便可以看到該文件,雙擊打開,需要一段的加載時間。?
這里寫圖片描述?
??首先可以看到的是一個餅狀圖,占用部分最大的便是發生溢出錯誤的部分,我們接著往下看 :?
這里寫圖片描述?
??我們這里看看畫紅線的部分,這里列出一些存活的大對象,在溢出的時候一般先懷疑大對象,我們點進去:?
這里寫圖片描述?
??這里列出占用內存最大的幾個對象,很顯然,第一個很可疑,占用率達到了94.64%!繼續跟進:?
這里寫圖片描述?
??發現都是test對象,因此排查的時候可以從這個方面下手。接著我們右鍵該對象選擇Path To GC Root(在引用鏈上的路徑),再選擇exclue all phantom/weak/soft etc. reference ,結果如圖:?
這里寫圖片描述?
??可以看到他是被List引用了,因此一直在引用鏈上,導致無法被回收掉,也就出現了內存溢出。

轉載于:https://my.oschina.net/itommy/blog/1576134

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/256493.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/256493.shtml
英文地址,請注明出處:http://en.pswp.cn/news/256493.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

caffe 中的一些參數介紹

轉自:http://blog.csdn.net/cyh_24/article/details/51537709 solver.prototxt net: "models/bvlc_alexnet/train_val.prototxt" test_iter: 1000 # test_interval: 1000 # base_lr: 0.01 # 開始的學習率 lr_policy: "step" # 學習率的…

ANSYS——相同模型不同創建方式的同載荷同約束下的比較

目錄 1、問題描述: 2、相同部分: 3、梁單元創建(BEAM) 4、實體單元創建

python 制作二進制文件數據集(bin)

為了方便進行深度學習的程序調用與實現,需要將excel的數據文件轉換為二進制文件。好處就是接口統一,讀寫速度快,節約空間。 一、調用庫 使用xlrd讀入execel表格,經過處理后轉換為對應的dataframe結構,再使用pickle庫…

ConcurrentDictionary的ToDictionary

如果Value是引用&#xff0c;那么在使用Value.Clear()的時候。會清空Value的所有元素&#xff0c;但是不會改變Value的引用 private static void Main(){try{var concurrentDictionary new ConcurrentDictionary<string, List<int>>();concurrentDictionary.TryAd…

遠程連接mysql數據庫注意點記錄

一、如何新建獨立帳號并設置權限 這里我使用Navicat作為我的數據庫管理工具&#xff0c;打開Navicat。 選擇“用戶”--“新建用戶” 輸入用戶名、主機、密碼&#xff0c;需要注意的是&#xff0c;主機那不是寫“localhost”&#xff0c;而是寫“%” 然后可以設置“服務器權限”…

【域控管理】父域的搭建

從這篇博文開始&#xff0c;所有的域控系統都是在虛擬機中創建的。 在VM里安裝Windows Server 2008 R2的方法就不多說了&#xff0c;無腦式安裝&#xff0c;略過不提。 進到系統桌面&#xff0c;打開本地連接&#xff0c;設置網卡的IP地址&#xff0c;如下圖&#xff1a; 注意&…

ANSYS——網格劃分的不同方法以及GUI模塊的操作(自由網格、映射網格、掃掠、拖拉)

目錄 一、GUI操作模塊的解釋 二、不同的網格劃分方法和網格類型

tensorflow2 tensorboard可視化使用

tensorflow2自帶tensorboard&#xff0c;所以不必再自行安裝tensorboard。 一、使用環境 win10 x64&#xff1b; anaconda3tensorflow2&#xff08;cpu版本&#xff09; 二、使用 1.在模型訓練之前插入以下代碼 log_dir os.path.join(logs) #win10下的bug&#xff0c; if…

oracle字符亂碼的解決方法

原因分析&#xff1a; 客戶端字符集就是為了讓數據庫知道我們傳遞過去的字符是屬于哪種字符集&#xff0c;以便于Oracle在存儲字符時進行相應的編碼映射&#xff08;查看客戶端字符集通過查找注冊表中的NLS_LANG鍵&#xff09;。在客戶端查詢數據庫時顯示字符的時候我們使用的是…

[]End of 2017OI

今年大概到此為止了&#xff0c;現在這個算是做一個簡短的階段性總結吧 今年打的第一場大概是省賽&#xff0c;當時整個人處于&#xff08;迷茫&#xff0c;不知道選物理還是選信息備戰中考持續摸魚OI頹廢&#xff09;的狀態&#xff0c;KMP都不會導致簽到題都沒有分&#xff0…

Javascript閉包——懂不懂由你,反正我是懂了

摘要&#xff1a;“如果你不能向一個六歲的孩子解釋清楚&#xff0c;那么其實你自己根本就沒弄懂。”好吧&#xff0c;我試著向一個27歲的朋友就是JS閉包(JavaScript closure)卻徹底失敗了。越來越覺得國內沒有教書育人的氛圍&#xff0c;為了弄懂JS的閉包&#xff0c;我使出了…

ANSYS——命令流學習(材料屬性設置、建模的命令流)

目錄 ANSYS基本關鍵字 命令流的整體結構、每個模塊的標識 !文件說明段/BATCH

IOS用CGContextRef畫各種圖形(文字、圓、直線、弧線、矩形、扇形、橢圓、三角形、圓角矩形、貝塞爾曲線、圖片)...

首先了解一下CGContextRef: An opaque type that represents a Quartz 2D drawing environment. Graphics Context是圖形上下文,可以將其理解為一塊畫布,我們可以在上面進行繪畫操作,繪制完成后,將畫布放到我們的view中顯示即可,view看作是一個畫框. 自己學習時實現的demo&…

eclipse maven jetty插件方式啟動項目

2019獨角獸企業重金招聘Python工程師標準>>> 1. 2.點擊run即可啟動項目 參考:maven命令具體含義請自行百度.例子:maven clean的作用 / maven djetty 轉載于:https://my.oschina.net/u/3146772/blog/1576710

AWS S3 Windows系統下的文件夾上傳基于python

AWS S3 上傳文件&#xff0c;基于cmd命令行發現無法上傳文件夾&#xff0c;只能上傳單個文件&#xff0c;不知道是我能力不行還是什么原因&#xff0c;如果有大佬了解的可以在下面評論下! 一、環境配置 1.win10 X64&#xff1b; 2.awscli 1.18.91 3.python&#xff08;程序…

51nod 1004 【快速冪】

思路&#xff1a; 掐住最后一位&#xff0c;快速冪一發就好了 #include<cstdio> #include <map> #include<iostream> #include<string.h> #include<algorithm> using namespace std;typedef __int64 LL;int cal(int g,int x) {int ans1;while(g…

ANSYS——桿單元簡介與示例(含新版本2019版本桿實常數設置、ANSYS help的使用、單元列表使用的舉例)

目錄 桿的一些介紹 問題描述: 求解步驟: 一、設置研究問題為靜力學結構問題

Maya 學習資料

羅其勝3d角色強化 CGwhat-Maya變形金剛擎天柱建模教程 Pixar in the box - khan academy Siggraph歷屆優秀動畫 CG軟件發展史&#xff1a;MAYA動畫十年歷程 maya 2014奧迪汽車模型制作教程 &#xff08;yj6k&#xff09; 海賊王路飛建模教程高清全集 轉載于:https://www.cnblog…

windows系統環境變量過長解決方案(PATH too long installer unable to modify Path)

在按照官方文檔安裝PCL庫時&#xff0c;發現如下danteng的錯誤&#xff0c;內心極度崩潰&#xff01;以前也遇到過&#xff0c;當時暫時解決了該問題&#xff0c;現在又遇到了重新解決一次&#xff0c;為了方便以后遇到該問題時不再不知所措&#xff0c;現做個筆記&#xff01;…

jQuery插件-輕量圖片輪換-UISlide2

UISlide 的不同效果展現&#xff1a;運行代碼 本文轉自懶得安分博客園博客&#xff0c;原文鏈接&#xff1a;XXXXXXXX&#xff0c;如需轉載請自行聯系原作者