更新時(shí)間:2021-10-19 11:47:48 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽879次
Histogram:列出內(nèi)存中每個(gè)實(shí)例的數(shù)量、大小、關(guān)聯(lián)對(duì)象大小(注意單位為字節(jié))
dominator tree(支配樹(shù)):在此視圖中列出了每個(gè)對(duì)象(Object Instance)與其引用關(guān)系的樹(shù)狀結(jié)構(gòu),同時(shí)包含了占用內(nèi)存的大小和百分比
with outgoing references:查看當(dāng)前對(duì)象,持有的對(duì)象信息
with incoming references:查看當(dāng)前對(duì)象,被哪些對(duì)象持有
Shallow Heap表示對(duì)象本身占用內(nèi)存的大小,不包含對(duì)其他對(duì)象的引用,也就是對(duì)象頭加成員變量(不是成員變量的值)的總和。
Retained Heap是該對(duì)象自己的Shallow Heap,并加上從該對(duì)象能直接或間接訪問(wèn)到對(duì)象的Shallow Heap之和。換句話說(shuō),Retained Heap是該對(duì)象GC之后所能回收到內(nèi)存的總和。
thread overview:線程視圖,展示堆內(nèi)存中線程棧情況
Object Query Language (OQL) ,mat內(nèi)置的對(duì)象查詢語(yǔ)言,便于統(tǒng)計(jì)分析各種內(nèi)存對(duì)象【注意,這里要結(jié)合對(duì)象占比、線程情況、異常類等綜合判斷,查詢的結(jié)果也可以結(jié)合vim、excel等便于統(tǒng)計(jì)分析】
例:
根據(jù)線程等分析出如下的異常對(duì)象:
java.io.BufferedOutputStream byte[]
com.mysql.jdbc.MysqlIO
com.mysql.jdbc.JDBC4Connection
OQL查詢視圖(F1查看語(yǔ)法):
1.查看sql連接的用戶
SELECT toString(s.user.value) FROM com.mysql.jdbc.JDBC4Connection s
2.查看sql連接的語(yǔ)句
SELECT toString(s.buf) FROM java.io.BufferedOutputStream s
3.查看redis.clients.jedis.Client對(duì)象的持有的對(duì)象信息
SELECT toString(s.buf) FROM redis.clients.util.RedisOutputStream s
SELECT toString(s.buf) FROM redis.clients.util.RedisOutputStream s WHERE (toString(s.buf).length() = 1024)
查看redis的inputstream的命中情況
SELECT toString(s.buf) FROM redis.clients.util.RedisInputStream s WHERE (toString(s.buf) LIKE "\+OK\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\..*")
3.查看redis的連接情況
SELECT s.port, toString(s.host) FROM redis.clients.jedis.HostAndPort s
4.查看字節(jié)數(shù)組
SELECT * FROM byte[] s
SELECT * FROM byte[] s where toString(s).length() =1024
SELECT toString(s), s.@usedHeapSize,s.@retainedHeapSize FROM byte[] s WHERE (toString(s).length() = 1024)
SELECT toString(s), s.@usedHeapSize, s.@retainedHeapSize FROM byte[] s WHERE (s.@usedHeapSize = 8208)
*********21124個(gè) 8208字節(jié) 占內(nèi)存160M+
以上就是關(guān)于“Java內(nèi)存分析工具技巧”的介紹,Java內(nèi)存分析工具是常見(jiàn)的Java開(kāi)發(fā)工具之一,以后大家還會(huì)接觸到更多的工具,可要好好學(xué)習(xí)哦。
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)