我需要测量某种方法的内存使用情况。我可以使用mxBean.getHeapMemoryUsage和mxBean.getNonHeapMemoryUsage获取Heap和nonHeap Memory大小。
我的问题是我们如何在特定方法执行中解决内存使用问题? (仅考虑HeapMemory或两者)
答案 0 :(得分:2)
您应该只考虑HeapMemory而不考虑NonHeapMemoryUsage。 NonHeapMemory是Java虚拟机保存方法代码和类byteCode内容的地方。
这是有用的链接get OS-level system information
注意:您也应该考虑堆栈内存,但与方法或类对象使用的堆内存相比,这是非常少的。