フリーダイヤル
無料トライアル 資料請求
 

JavaのCPU負荷を取得する方法(Web会議/テレビ会議)

高機能なTV会議システムであるSOBA mierukaSOBA CITYはJavaと言うプログラム言語で作成されています。
開発の中で少し、CPUの負荷を取得したいと思って調べてみましたが、なかなか良い情報が得られなかったので、今回のエントリーはいつもと趣旨を変更して、javaプログラムでcpu負荷を取得する方法を紹介したいと思います。
とは言ってもwindows全般のCPU負荷ではなく、javaプロセスのcpu負荷を取得しますので、ご注意下さい。

class Sample extends TimerTask{
com.sun.management.OperatingSystemMXBean result = (com.sun.management.OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
RuntimeMXBean bean = ManagementFactory.getRuntimeMXBean();
long prevUpTime;
long prevProcessCpuTime;
@Override
public void run() {
if (bean.getUptime() > prevUpTime) {
long elapsedCpu = result.getProcessCpuTime() – prevProcessCpuTime;
long elapsedTime = bean.getUptime() – prevUpTime;

float cpuUsage =
Math.min(99F,elapsedCpu / (elapsedTime * 10000F * result.getAvailableProcessors()));
System.out.println(cpuUsage);
prevProcessCpuTime = result.getProcessCpuTime();
prevUpTime = bean.getUptime();
}
}
}

う~ん改行がうまくいかないですね。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする