CPU負荷と電源管理(周波数)

CPU負荷と電源管理(周波数)

問題の背景

私が理解したのは、負荷値(たとえばtop)を使用すると(システム内のCPUコアの数に関する知識とともに)、使用中のコンピューティングパフォーマンスのシェアを非常に迅速に評価できます。 4つのコアを持つシステムに2つの負荷がある場合、これはプロセス速度を低下させることなく(CPUレベルで、つまりI / Oを無視する)2倍の作業を実行できることを意味します。

私のシステムが2.7(クアッドコア)にロードされたという情報は、比較値が一定ではないため、思ったよりも役に立たないことがわかりました。

start cmd: # grep "^cpu MHz" /proc/cpuinfo
cpu MHz         : 800.000
cpu MHz         : 800.000
cpu MHz         : 2050.000
cpu MHz         : 800.000

私のCPUは約2GHzで最大値を記録します。部分的にアイドル状態の場合、各コアのクロック周波数は(個別に)最小800 MHzに減らすことができます。 CPU コンピューティング性能の現在の要件は明確です。ただし、比較値(「最大値はいくらですか?」)は、現在の周波数によって大きく異なります。

CPUに比べてできる負荷ははるかに低くなければなりません。例:2GHzで実行されるすべてのコア、ロード(複数の実行プロセスの組み合わせ)は1です。すべてのコアが800MHzで動作している場合、同じワークロードは約2.5の負荷で測定されます。

そのため、便利に使用するには、負荷値をCPUの最高速度性能の観点から測定する必要があると思います。つまり、コアは2.5の負荷を測定しますが、800MHzでのみ実行されることを知っているので、負荷は実際には1.0にすぎないことを知っています。

場合によっては、負荷は周波数に依存しないことがわかります。できるだけ多くのCPUを消費する2つの(シングルスレッド)プロセスがありますが、システムの他のプロセスには多くのCPUが必要ない場合、負荷は頻度に関係なく常に2になります。しかし、これは一般的なケースではありません。

質問

  1. コアの負荷値は現在の周波数(私が仮定したもの)を参照しますか、それとも使用可能な最大周波数を参照しますか?

  2. これを考慮したツールはありますか?つまり、「荷重:2.5(測定)/ 1.0(修正)」という2つの値を表示するツールです。

ベストアンサー1

おすすめ記事