2010-07-26 5 views
2

현재 실행중인 컴퓨터가 "과부하 상태"인 것을 확인해야하는 Java 응용 프로그램을 작성하고 있습니다. * nix에서는 부하 평균을 프로세서 수로 나눈 값이 청구서에 가장 적합하며 ManagementFactory.getOperatingSystemMXBean().getSystemLoadAverage()으로로드 평균을 검색합니다. 불행하게도이 호출은 Windows에서 -1을 반환합니다. 호출이 자주 호출 되기에는 너무 비싸기 때문입니다. 순수 Java 또는 JNI를 통해 프로세서 대기열 길이 또는 CPU 사용률과 같은 유사한 Windows 메트릭을 검색하는 가장 쉬운 방법은 무엇입니까?Java에서 Windows "로드 평균"가져 오기

답변

3

당신은 WMI를 사용하여 Windows에서 CPU 사용률을 검색 할 수 있습니다. Java에서 WMI에 액세스하기위한 일부 코드 및 설명서는 here으로 볼 수 있습니다. 당신이는 Win32 환경에서 실행중인 경우

+0

또는 더 쉽게이는 WMIC 인터페이스를 사용! – Anders

+0

나는 항상 외부 프로그램을 호출하는 것 이상의 코드에서 그것을 해왔다. 그러나 wmic는 유용하게 보인다. –

+0

WMI는 내가 본 것처럼 보인다. 나는 J-Integra 루트를 사용하지 않을 것이라고 생각하지 않는다. - http://henryranch.net/software/jwmi-query-windows-wmi-from-java/에서 코드를 사용하려고 생각하고있다. 나는 그것을 프로그램 적으로 호출하는 무언가를 찾고있다. (이것은 동적으로 VBScript를 만든다.) – Scott

관련 문제