1

Windowsタスクマネージャーに表示されるように、いくつかのコマンドを実行し、X秒ごとにCPU使用率、メモリ使用率、およびネットワーク使用率を測定する小さなテストアプリケーションを開発しようとしています。アプリケーションは Java で作成され、Windows と Linux の両方で実行されることになっています。システム情報を簡単に抽出するために、多くの人が Sigar API を使用していることがわかりました。を使用してメモリ使用量を抽出する方法を見つけました

 Mem mem = sigar.getMem();
 mem.getUsed();

使用されているメモリと実際に使用されているメモリの違いはまだわかりません。誰か詳しく説明してもらえますか?

また、CPU使用率とネットワーク使用率を抽出する方法もまだわかりません。私が試したCPUの場合:

cpu = sigar.getCpuPerc();
cpu.getCombined();

しかし、数字はタスク マネージャーで見ているものとは大きく異なっているようです。目的の結果を得るには、どの API を使用すればよいですか? ネットワークの利用については、私には手がかりがありません。

4

1 に答える 1

1

使用されるメモリは、割り当てられたメモリ サイズを参照します。実際に使用されるメモリは、割り当てられたメモリのうち実際に使用されるメモリです。カーネルお​​よびその他の領域のメモリの一部が削減されます。

CPUについても、値が異なることがわかり、100倍することを提案しているブログを見ました 。ソース/browse/trunk/starfire/src/main/java/es/upm/dit/gsi/starfire/capability/systemMonitor/CpuMonitor.java?spec=svn279&r=279

ネットワーク 私はまだ探しています。

于 2012-12-26T11:06:06.730 に答える