2012-05-09 3 views
8

JVM의 메모리 사용을 읽기 위해 스케줄 된 실행 프로그램을 생성합니다. , MemoryMXBean에 의해 제공되는 추가 비 힙 메모리 사용 정보를 제외하고Java에서 메모리 통계 얻기 : 런타임 대 MemoryMXBean

memoryMxBean.getHeapMemoryUsage().getUsed()  <=> runtime.totalMemory() - runtime.freeMemory() 
memoryMxBean.getHeapMemoryUsage().getCommitted() <=> runtime.totalMemory() 
memoryMxBean.getHeapMemoryUsage().getMax()  <=> runtime.maxMemory() 

: 자신의 방법 사이에 다음 대응으로, 런타임 & MemoryMXBean에 - 나는 실행중인 JVM에서 메모리 통계를 얻을 수있는 두 가지 방법으로 건너왔다 내가 런타임보다 선호해야하는 이유가 있습니까?

답변

2

아무 것도 없습니다. JMX 빈은 외부에서 액세스 할 수 있으며 hyperic (또는 nagios)과 같은 관리 도구를위한 것입니다. 어쨌든 런타임에 위임됩니다.

+0

예. 두 방법 모두 사용 된 메모리에 대해 동일한 값을 반환합니다. – huljas