2014-10-07 52 views
-1

我需要測量內存使用某種方法。我可以使用mxBean.getHeapMemoryUsage和mxBean.getNonHeapMemoryUsage獲取堆和非Heap內存大小。Java測量內存使用情況的方法如何?

我的問題是我們如何在特定的方法執行中使用內存使用情況? (只考慮HeapMemory或兩者)

+0

這很有意義,你的最後一句話是自相矛盾的。 – EJP 2014-10-07 07:56:32

+0

計算方法中使用的局部變量所消耗的內存。 – Braj 2014-10-07 08:00:09

+0

是的,我問我可以測量內存使用情況獲得HeapMemeory之間的區別,還是我必須考慮堆和非Heap? – 2014-10-07 09:18:15

回答

2

您應該只考慮HeapMemory而不是NonHeapMemoryUsage。 NonHeapMemory是Java虛擬機保留方法代碼和類byteCode的東西的地方。

這裏是有幫助的鏈接get OS-level system information

注意:你應該考慮堆棧內存爲好,但畢竟是非常少的比較通過以下方法或類對象使用的堆內存。