2016-12-06 1 views
1

JVM 힙 사용을 모니터링하는 방법을 이해하는 데 어려움이 있습니다. 나는 여러 스레드를 읽었으며 모두이 소스에서 가져온 동일한 패턴을 사용합니다. https://docs.oracle.com/javase/7/docs/api/java/lang/management/MemoryPoolMXBean.html실시간으로 JVM의 힙 사용 모니터

그러나 청취자는 결코 이벤트를 발생시키지 않습니다. JVM의 현재 힙 크기를 내 GUI에 실시간으로 표시 할 수 있기를 원합니다. 어떻게해야합니까?

+1

실행중인 JVM 프로세스 또는 외부 프로그램에서? 코드는 어디에 있습니까? – Qix

답변

1

Jvisualvm 도구는 jdk의 bin 저장소에 있고 jvisualvm.exe를 검색하여 실행하면 실시간으로 힙 및 permgen 메모리를 확인할 수 있습니다.

+1

JTextArea 내 GUI에 표시하고 싶습니다./ – Zorobay

+2

@Zorobay 그러면 Runtime.getRuntime(). freeMemory() 및 Runtime.getRuntime(). totalMemory()가 표시됩니다. – Jire

+0

GUI 안에 그것을 표시하려면이 게시물을 도울 수 있다고 생각합니다. http://stackoverflow.com/questions/17364820/running-a-exe-file-inside-java-code이 방법으로 GUI에서 jvisualvm을 호출 할 수 있습니다. –

1

이 사용 사례에서는 JMX가 필요하지 않습니다. Runtime에서

Runtime.getRuntime().totalMemory(); 

... 및 이와 유사한 방법은 당신에게 순간 메모리 정보를 제공합니다. 스케쥴러를 설정하고 GUI를 업데이트하십시오.

물론 외부에서 이런 종류의 것을 모니터하고 싶다면 JMX는 유용합니다.

+0

감사합니다. 사용하실 수 있습니다. 그래도 변화를 듣는 것만으로 최적화 된 것은 아닙니다 : ( – Zorobay

+0

그리고이 그래프를 생성하고 싶다면 이것을 루프로 작성하여 그래프를 생성하는 데 필요한 정보가 필요합니다 – Acewin

관련 문제