2014-10-07 63 views
0

我知道我的Java的Runtime對象可以報告JVM的內存使用情況。但是,我需要某個線程的內存使用情況。任何想法如何得到這個?獲取線程的內存使用情況

我很感謝您的回答!

+1

每個線程都分配了一定數量的堆棧空間。這可以在JVM級別配置。找到你的JVM配置並檢查它。 – 2014-10-07 15:51:44

回答

3

線程與虛擬機中的所有其他線程共享除堆棧和CPU週期以外的所有內容。線程創建的所有對象都與所有其他對象彙集在一起​​。

問題是定義線程的內存使用情況。它只是它創建的那些對象嗎?如果這些對象隨後被其他線程引用會怎麼樣?那麼他們只計算一半嗎?有關在其他地方創建的對象的情況,現在由此線程引用?

我知道沒有工具試圖測量單獨線程的內存消耗。

+0

Thx爲您的答案!不是那樣嗎?我真的必須弄清楚某個線程正在使用多少內存。我會很感激你的回覆! – mrquad 2014-10-07 12:03:12

+0

@mrquad你可以試試這個:http://www.eclipse.org/mat/ – 2014-10-07 12:11:59

+1

它是一個獨特的線程,還是有其他人喜歡它?如果有其他人喜歡它,那麼也許你可以比較內存使用總量與使用少一個線程運行時的總內存使用量。 – 2014-10-07 13:32:32