91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java 中出現內存泄露如何解決

發布時間:2021-07-23 16:46:38 來源:億速云 閱讀:189 作者:Leah 欄目:編程語言

這期內容當中小編將會給大家帶來有關Java 中出現內存泄露如何解決,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

首先,我用下面的命令監視進程:

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

(如果有的話還有New Relic)

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

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

如果這些都不符合你所希望的,那么你就需要指定JVM的內存設置。可以用下面的命令設置最小和***堆大小:

java -Xms128m -Xmx256m

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

jmap -histo $PID

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

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

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

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

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

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

ssh -L 7000:localhost:7000 $HOST

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

  • Show heap histogram

  • Show instance counts for all classes (excluding platform)

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

Java 中出現內存泄露如何解決

上述就是小編為大家分享的Java 中出現內存泄露如何解決了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兖州市| 石泉县| 安仁县| 红安县| 蒙山县| 长汀县| 长顺县| 上高县| 石泉县| 安新县| 莒南县| 鹤岗市| 安庆市| 惠来县| 澄城县| 饶阳县| 鸡西市| 沾化县| 天门市| 百色市| 桃源县| 苍溪县| 无棣县| 镇康县| 宁晋县| 佛教| 尖扎县| 襄汾县| 双柏县| 华阴市| 赫章县| 桃江县| 天柱县| 临清市| 翼城县| 郓城县| 平武县| 吴忠市| 淅川县| 鲁甸县| 孟州市|