人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

【CPU使用量の取得】
linuxやmac、windowsなんでもいいのですが、「CPU使用量」を取得するツールはありますか?

CPU使用率はよくありますが、これは割合であって絶対的な量ではないですよね。

別のマシン、CPU、別の周波数のCPUでも比較可能な絶対的なCPUの仕事量を表す値を取得することはできないでしょうか。

スーパーπで100万桁を計算する計算量を100とする。という具合の値を取得したいです。
よろしくお願いします。


●質問者: urekat
●カテゴリ:コンピュータ
✍キーワード:CPU CPU使用率 Linux Mac Windows
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● YasudaS
●25ポイント ベストアンサー

>絶対的なCPUの仕事量

というものが測定しがたいために、ありません。

CPUには得意/不得意があります。

極端な例として、足し算が得意だがかけ算はちょっと遅いということもあります。

もしくはその逆。

また、処理量はメモリやバスの速度等、環境に大きく依存するために

CPU本体だけでは決まりません。

http://mark.jolt.jp/pageDetail/87307

◎質問者からの返答

ありがとうございます。

そうですよね。すべて正確にはわからないものの、なんとか目安になる値はないものでしょうか。


2 ● longicorn
●25ポイント

FLOPS - WikipediaMIPS - Wikipediaとかいうのが有ったりはします。

ただ単純に考えると、こういうのってあらかじめCPU使用率100%でどれだけの値が出るかと計算しておくとか、CPU側からこの値をもらえれればいいけど

そうじゃなかったら今の使用量ってだせないような気がします。


それにアセンブラをやれば分かるけど、CPUの違いとかメモリ量とか値を求めるFLOPSの値を求めるソフトによって計算量が変わったりするしどうしようもないかと。

業界側で取り決めをしてCPU側から使用率を取得できるようにするとかしないと無理じゃないかな。

◎質問者からの返答

ありがとうございます。

仮に、「bogomips×プロセスの使用率×プロセスの実行時間」を

CPU使用量としたら何か参考になりうる値になりますかね。


3 ● hanadan
●0ポイント

top


4 ● taksei
●25ポイント

>CPU使用率はよくありますが、これは割合であって絶対的な量ではないですよね。

プログラムがCPUを占有していた時間です。
これにはメモリーやキャッシュからのデータ転送時間も含みます。
ゆえにその時間にCPUがどれだけの時間有効に演算が行われたのかさえもわかりません。
また、仮にデータ転送がなかったとしても、同時に何命令かを並列で走らせたりするので、単純に時間だけでは処理した演算は測れません。
そもそも、最近のCPUは実行結果を先読みして意味があるか分からない命令を実行したりするので、有効な演算って何なのかさえあやふやです。

>bogomips×プロセスの使用率×プロセスの実行時間

bogomipsはかなり小さなプログラムのようなので、おそらくはデータ転送など発生しないですが、実際のプログラムの動作では、上記のデータ転送待ちが発生します。
最近のCPUではCPUとキャッシュ、メモリの速度差が激しいので、結局、実行時間は走らせるプログラム依存になります。

1さんのおっしゃるようにCPUとしてではなくシステムとしての性能しか測れないと思います。
そのうえで、やはり様々なプログラムを走らせ実行時間を計測して、プログラムの特徴ごとに場合分けするしかないと思います。

リンクはベンチマークプログラム集を出している会社のHPです。
http://www.spec.org/


5 ● pyopyopyo
●25ポイント

「CPU使用量」を「CPUが実行した命令数」と考えれば、取得は可能です。

最近のCPUは、CPU内部にパフォーマンスカウンタと呼ばれるカウンタを持っていて、

「CPUが実行した命令数」を数えることができます。

intel のCPUだと、INSTR_RETIRED という名前のカウンタになります。

このINSTR_RETIREDの値を取得するツールとしては、

があります。

なお、vtuneは intel cpu 上で動作している window、 linux に対応しています。

一方、oprofile は intel だけでなく amd のCPU等にも対応していますが、linux 上でしか動作しません。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ