日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
如何診斷Java中的內(nèi)存泄露

每次我懷疑有內(nèi)存泄漏時,我都要翻箱倒柜找這些命令。所以,這里總結(jié)一下以備后用:

在通州等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計、成都網(wǎng)站制作 網(wǎng)站設(shè)計制作按需制作網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都營銷網(wǎng)站建設(shè),成都外貿(mào)網(wǎng)站建設(shè)公司,通州網(wǎng)站建設(shè)費用合理。

首先,我用下面的命令監(jiān)視進程:

         
 
  1. while ( sleep 1 ) ; do ps -p $PID -o %cpu,%mem,rss  ; done 

(如果有的話還有New Relic)

如果你看到內(nèi)存上升很快,可能是因為虛擬機設(shè)置。如果你沒有明確指定JVM的內(nèi)存設(shè)置,它將設(shè)置默認(rèn)值給他們。要獲得默認(rèn)值,使用以下命令:

         
 
  1. java -XX:+PrintFlagsFinal -version | grep -i HeapSize 

如果這些都不符合你所希望的,那么你就需要指定JVM的內(nèi)存設(shè)置。可以用下面的命令設(shè)置最小和***堆大?。?/p>

         
 
  1. java -Xms128m -Xmx256m 

盡管你有了合理的內(nèi)存設(shè)置,也可以監(jiān)控進程,但你仍然可能看到內(nèi)存隨時間增加。為了進一步探究原因,你可以使用下面的命令查看對象實例的直方圖:

jmap -histo $PID

如果仍然沒有足夠的信息,那么可以用以下命令進行堆轉(zhuǎn)儲:

jmap -dump:format=b,file=/tmp/dump1.hprof $PID

通常,我會用兩個堆轉(zhuǎn)儲,然后使用下面的jhat命令比較它們:

jhat -baseline /tmp/dump1.hprof /tmp/dump2.hprof

這個命令會啟動一個HTTP服務(wù)器,你可以用它來探索這兩個堆轉(zhuǎn)儲之間的差值。在默認(rèn)情況下,HTTP服務(wù)器啟動7000端口,你可以在瀏覽器中訪問該端口。

如果你有防火墻,可以通過SSH訪問,那么你可以通過如下命令連接該端口:

ssh -L 7000:localhost:7000 $HOST

向下滾動到***頁的底部,你會看到兩個有用的鏈接:

  • Show heap histogram

  • Show instance counts for all classes (excluding platform)

這將給你展示在不同堆轉(zhuǎn)儲之間所有“新”的實例,應(yīng)該對你檢測泄漏來自哪里有些幫助。截圖如下:

然后你就擁有了一個神奇命令行的快速查看目錄,以便于你需要診斷內(nèi)存泄漏時使用(然而我總是忘記)。


分享文章:如何診斷Java中的內(nèi)存泄露
URL網(wǎng)址:http://m.5511xx.com/article/cdpggee.html