2016-08-16 4 views
0

java 1.8을 사용하여 다음 데이터를 가져오고 싶습니다.Java 1.8을 사용하여 Window CPU 및 메모리 성능을 얻는 방법은 무엇입니까?

  1. CPU 사용량.
  2. 총 실제 메모리
  3. 사용 가능한 메모리
  4. 무료 메모리는

나는 OperatingSystemMXBean를 사용하고 있지만, 데이터의 위 얻을 수있는 방법이 없습니다.

또한 나는 메모리 크기를 얻을 수 Runtime.getRuntime()를 사용하지만 내가없는 메가바이트 또는 기가바이트로 변환 할 수있는 긴 값을 반환합니다.

+1

'OperatingSystemMXBean'을 사용할 수 있습니다. https://docs.oracle.com/javase/7/docs/jre/api/management/extension/com/sun/management/OperatingSystemMXBean.html – DimaSan

+2

[How to monitor Java에서 컴퓨터의 CPU, 메모리 및 디스크 사용량?] (http://stackoverflow.com/questions/47177/how-to-monitor-the-computers-cpu-memory-and-disk-usage-in-java) –

+0

다른 모든 방법이 실패하면 Windows API를 조사하고 [JNA] (https://en.wikipedia.org/wiki/Java_Native_Access)를 사용할 수 있습니다. – Arkadiy

답변

0

는 내가의 javadoc를 확인하고 그들이 여기처럼 보인다 않은 : 그러나 http://docs.oracle.com/javase/7/docs/jre/api/management/extension/com/sun/management/OperatingSystemMXBean.html

; 가져온 클래스에주의해야합니다. 당신은 com.sun.management 패키지의 하나 인 java.lang.management 패키지에서 안 하나를 사용해야합니다.

+0

표시된 링크는 Java 1.7까지 사용 가능한 OperatingSystemMXBe an의 메소드를 표시합니다. Currenty 나는 Java 1.8을 사용하고 있으며 위에서 언급 한 결과를 무시할 수있는 메소드가 없습니다. – Harsh

+0

여기서 볼 수 있듯이 http://docs.oracle.com/javase/8/docs/jre/api/management/extension/com/sun/management/OperatingSystemMXBean.html 이들은 1.8에 포함되어 있습니다. – bigahega

+0

감사합니다. 패키지를 com.sun.management로 변경하고 필요한 모든 메소드를 얻었습니다. '그러나 getProcessCpuLoad()'와'getSystemCpuLoad()'는 -1을 반환합니다. 이 작업을 올바르게 수행하는 방법은 무엇입니까? – Harsh