Ubuntuおよびプロセッサ速度の検出


12

テレビのメディアセンターとして使用する古いラップトップを持っています。通常は、可能な限りスムーズに実行できるように、異なるOSやアプリをインストール/再インストール/アンインストールしています。

私が気づいたのは非常に奇妙なことでした。私のラップトップはHP Pavilion G62で、トリプルコアAMDプロセッサーが1800MHzで動作しています。Windows 7からXBMCを起動して、プロセッサの速度を見ると、1800mhzとはっきりと表示されます。ただし、ランチャーから、またはセッションとしてUbuntuから起動すると、プロセッサーは800mhzのみであると表示されます。

さらに調査したかったので、WindowsにDXDIAGをロードして、速度を確認しました。案の定、それは1800MHzであることを示しています。ただし、UbuntuでHardInfoを起動すると、各コアの速度は1500mhz、1500mhz、および800mhzであることがわかります。

これは、アドバタイズされたプロセッサ速度とWindowsによって検出された速度の両方が横たわっているか、四捨五入されていることを意味しますか?または、Ubuntuがプロセッサの速度を検出していて、システムが最適に動作していないという問題がありますか?私は後者を言いたいと思います...主にWindowsがUbuntuよりもはるかにスムーズに実行されるように見えるためです。


4
の出力を投稿してくださいcpufreq-infosudo apt-get install cpufrequtils最初にインストールする必要があるかもしれません。
テルドン14

2
「ランチャーから、またはセッションとしてUbuntuから起動すると、プロセッサは800mhzしかありません」スクリーンショットを撮ってもらえますか?
ブライアム14

回答:


11

デフォルトでは、Ubuntuはオンデマンドの周波数ガバナーを使用します。ガバナーをチェック/切り替えるには、次のようにcpufrequtilsパッケージをインストールします。

sudo apt-get install cpufrequtils

各コアの現在の速度/ガバナーを確認するには、次を実行します。

cpufreq-info

次のように、すべてのコアをパフォーマンスに設定できます。

sudo cpufreq-set -r -g performance

次のように、すべてのコアが最大周波数で実行されていることを確認できます。

grep MHz /proc/cpuinfo

:この変更は一時的なものです。再起動すると、ondemandに戻ります。


1
情報をありがとう!リストしたコマンドを実行し、最初のCPUコアを1800mhzに上げましたが、残りは800mhzでした。これは、以下のSergeyの非常に詳細な回答によると、私のシステムでは普通のことです。
Scotty_80 14

回答を編集して、どのcpu番号の頻度を設定するかを指示する-cパラメーターを含めました。すべてのCPU番号を一度に指定する方法が見つかりませんでした。また、AC電源ではパフォーマンスモードを有効にし、バッテリーではオンデマンドモードを有効にするスクリプトを作成しようとしています。誰かがすでにこの解決策を持っている場合は、ここに追加してください。ありがとう。
シュリ14

1
すべてのCPUのパフォーマンスを一度に設定するには、最初にsudo suでスーパーユーザーモードに変更してから、これを使用します。for((i = 0; i <$(nproc); i ++)); cpufreq-set -c $ i -r -g performance; 行って
スリランカ

10

理論的背景:典型的なコンピューターでは、CPUはほとんどの時間アイドル状態です。電力を節約するために、最新のCPUは周波数スケーリングを実装しています。つまり、オペレーティングシステムは、負荷が低いときに低い周波数に切り替えるようにCPUに指示することができます。このテクノロジーは、IntelプロセッサーではSpeedStep、AMDプロセッサーではCool'n'Quietと呼ばれています。

Linuxのカーネルでは、周波数スケーリングはcpufreqインフラストラクチャによって実装されます。インフラストラクチャでは、「ガバナー」の概念を使用して周波数を制御します。

デフォルトのガバナは「オンデマンド」で、プロセッサの使用率が95%を超えると頻度が増加します。これにより、CPUはアイドル状態でも電力を節約できますが、実行することがある場合は完全なパフォーマンスに切り替わります。ミリ秒単位で測定される遷移遅延があるため、アイドル状態のCPUが突然大きな負荷を取得すると、フルパワーに切り替える前に数ミリ秒の間低周波数で一気に動き続けます。常にフルスピードで実行されます。

CPUを常に全周波数で実行する「パフォーマンス」ガバナーを含む他のガバナーがあります。これにより、スイッチングレイテンシはなくなりますが、消費電力が増加する可能性があります。

別の回答で提案されているように、異なるガバナーで実験することもできますが、劇的な結果が得られるとは思いません。99%のケースで理にかなっていない限り、デフォルトにすることはありません:)

質問に戻りますが、ほとんどの場合、Windowsは可能な限り最大のCPU周波数(CPUのボックスでアドバタイズするもの)を表示しますが、Ubuntuはこの特定の瞬間に各CPUコアが実行する実際の周波数を表示します。UbuntuでCPUの動作が遅くなるという意味ではありません。Ubuntuのラップトップでの実行速度が遅いと思われる場合、他の原因が考えられます。たとえば、RAMの不足、ハードドライブの速度低下などです。最新のUbuntuでは、Windows XPなどのリソースよりも多くのリソースが必要です。古いラップトップ。

より技術的な読み物:


これは間違いなくそれを説明しています!ただし、ガバナーをパフォーマンスに設定する場合、すべてのCPUコアを1800MHzで実行すべきではありませんか?現在、設定を変更すると、CPU1が1800mhzに設定されるだけです。他の2つは800MHzのみです。私は...これは単なるCPUの制限としてアップチョークをまいたことができたと
Scotty_80
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.