源碼實(shí)現(xiàn)實(shí)時(shí)獲取Java堆內(nèi)存信息
摘要: 如果大家有遇到過Java內(nèi)存泄露問題,而且親自動(dòng)手去定位和分析經(jīng)歷的同學(xué)來講,獲取Java的堆內(nèi)信息對(duì)了內(nèi)存使用情況的問題分析和定位是非常有幫助了。例如我們常用的MAT工具,可以較方便的讓我們定位程序中內(nèi)存的使用情況,是哪塊導(dǎo)致了內(nèi)存的泄露等。
但由于傳統(tǒng)的分析過程比較麻煩,需要使用Jdk的jmap(Java Memory Map)命令把heap內(nèi)存dump到一個(gè)文件,然后用MAT進(jìn)行分析。所以本文介紹一種方法可以實(shí)現(xiàn)在線查看heap內(nèi)存的使用情況,并附上源碼實(shí)現(xiàn),希望對(duì)大家有幫助。由于目前調(diào)研中只找到了Sun JDK6以及以上版本的實(shí)現(xiàn),所以目前該方案只支持Sun JDK6或以上。如果其他同學(xué)有其它版本的JDK實(shí)現(xiàn)分享,歡迎一起交流。
閱讀全文
posted @
2013-02-20 16:30 x.matthew 閱讀(6318) |
評(píng)論 (9) 編輯