나는 리눅스에서 CPU (다른 것들 사이)를 모니터하는 데 사용하는 자바 모니터링 애플리케이션을 가지고있다.JVM의 모든 스레드에 대해 CPU 백분율을 얻으려면 어떻게해야합니까?
내 프로세스의 CPU 사용량을 얻기 위해 Sigar를 사용하고 있습니다. http://cpansearch.perl.org/src/DOUGM/hyperic-sigar-1.6.3-src/docs/javadoc/org/hyperic/sigar/Sigar.html#getProcCpu%28long%29
그러나 이것은 공정 단계에 불과합니다. htop은 내 응용 프로그램의 스레드와 각각 사용중인 CPU 백분율을 표시합니다.
Sigar로 할 수 있습니까?
멀티 코어 박스에 있다면 코어 당 CPU 사용률을 얻을 수 있습니까?
CPU가 오랜 기간 동안 100 % 실행될 때 경고하고 스레드 목록의 가능한 범인을 확인하고 싶습니다.
당신이 항상 사용 할 수 있습니다' Process process = Runtime.getRuntime(). exec (yourcmd);'명령 (htop 등)을 실행 한 다음'process.getInputStream();'명령을 사용하여 반환 된 데이터를 읽습니다. – SnakeDoc