Re: [問題] 如何知道java程式吃了多少記憶體

看板java作者 (char[])時間17年前 (2008/11/27 10:37), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/4 (看更多)
※ 引述《spes (沒有)》之銘言: : ※ 引述《gech2001 (gech)》之銘言: : : 我現在跑一個可能會很大hash的程式 : : 現在想要分析使用的記憶體量對象能的影響 : : 可是google找不到似乎可行用來看程式用了多少memory的方法 : : 請問各位大大有哪一個方法知道吃了多少記憶體嗎 : : 謝謝大家~ : 如果是要在 Java 程式裡知道 java heap 被吃了多少, 那 : java.lang.Runtime.freeMemory(), : java.lang.Runtime.totalMemory() : 可以幫你的忙 : 如果是要在 windows 上知道某程式吃了多少 memory, 最簡單的就是按 : Ctrl + Alt + Del, 看一下 task manager 裡的 Mem Usage 依我的經驗,windows task manager的Mem usage完全不可靠, 同樣一支程式,10M跟100M都發生過,也常有used heap + used non-heap > win mem usage 的情形發生 linux的top指令會相對穩定一點,振盪不會那麼大,但我也是有觀察過commited heap + commited non-heap > phy mem usage 的情形。 用jconsole是最方便的方式,在bin目錄底下,如果要用程式取得的話,除了 Runtime.freeMemory()外,還可以用JMX API,如svenlee所舉的例子。 : 如果是想要做 profiling 的話, fillano 給的 link 可以幫你的忙 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.99.0.10 ※ 編輯: CharArray 來自: 122.99.0.10 (11/27 10:48)
文章代碼(AID): #19BWVWuw (java)
討論串 (同標題文章)
文章代碼(AID): #19BWVWuw (java)