Ubuntu 13.04 CPU周波数スケーリングが最低周波数で「スタック」


10

MacBook AirにUbuntu 13.04をインストールしたばかりですが、しばらくの間マシンが非常に遅く感じたので、CPU周波数を確認しました。cpufreq-info、4つのコアすべてで800MHzを報告します(これが最低の設定です)。ガバナーはオンデマンドに設定されています。システムに負荷をかけると(4回ハッシュする小さなスクリプトを実行します)、マシンは停止しますが、cpufreq-infoはまだ800MHzを報告しています。周波数を手動で2GHzに設定できます。これにより、パフォーマンスの問題は解決しますが、バッテリーが消費されます。

これはcpufreq-infoの出力です:

cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0 1 2 3
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 10.0 us.
  hardware limits: 800 MHz - 2.00 GHz
  available frequency steps: 2.00 GHz, 2.00 GHz, 1.90 GHz, 1.80 GHz, 1.70 GHz, 1.60 GHz, 1.50 GHz, 1.40 GHz, 1.30 GHz, 1.20 GHz, 1.10 GHz, 1000 MHz, 900 MHz, 800 MHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance
  current policy: frequency should be within 800 MHz and 2.00 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 800 MHz (asserted by call to hardware).
  cpufreq stats: 2.00 GHz:5,75%, 2.00 GHz:0,47%, 1.90 GHz:0,00%, 1.80 GHz:0,01%, 1.70 GHz:0,01%, 1.60 GHz:0,01%, 1.50 GHz:0,01%, 1.40 GHz:0,01%, 1.30 GHz:0,01%, 1.20 GHz:0,02%, 1.10 GHz:0,01%, 1000 MHz:0,02%, 900 MHz:0,02%, 800 MHz:93,67%  (1388)
analyzing CPU 1:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0 1 2 3
  CPUs which need to have their frequency coordinated by software: 1
  maximum transition latency: 10.0 us.
  hardware limits: 800 MHz - 2.00 GHz
  available frequency steps: 2.00 GHz, 2.00 GHz, 1.90 GHz, 1.80 GHz, 1.70 GHz, 1.60 GHz, 1.50 GHz, 1.40 GHz, 1.30 GHz, 1.20 GHz, 1.10 GHz, 1000 MHz, 900 MHz, 800 MHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance
  current policy: frequency should be within 800 MHz and 2.00 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 800 MHz (asserted by call to hardware).
  cpufreq stats: 2.00 GHz:3,17%, 2.00 GHz:0,01%, 1.90 GHz:0,01%, 1.80 GHz:0,00%, 1.70 GHz:0,00%, 1.60 GHz:0,01%, 1.50 GHz:0,01%, 1.40 GHz:0,01%, 1.30 GHz:0,01%, 1.20 GHz:0,01%, 1.10 GHz:0,01%, 1000 MHz:0,02%, 900 MHz:0,02%, 800 MHz:96,71%  (1433)
analyzing CPU 2:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0 1 2 3
  CPUs which need to have their frequency coordinated by software: 2
  maximum transition latency: 10.0 us.
  hardware limits: 800 MHz - 2.00 GHz
  available frequency steps: 2.00 GHz, 2.00 GHz, 1.90 GHz, 1.80 GHz, 1.70 GHz, 1.60 GHz, 1.50 GHz, 1.40 GHz, 1.30 GHz, 1.20 GHz, 1.10 GHz, 1000 MHz, 900 MHz, 800 MHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance
  current policy: frequency should be within 800 MHz and 2.00 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 800 MHz (asserted by call to hardware).
  cpufreq stats: 2.00 GHz:2,69%, 2.00 GHz:0,00%, 1.90 GHz:0,01%, 1.80 GHz:0,01%, 1.70 GHz:0,01%, 1.60 GHz:0,02%, 1.50 GHz:0,01%, 1.40 GHz:0,01%, 1.30 GHz:0,02%, 1.20 GHz:0,02%, 1.10 GHz:0,01%, 1000 MHz:0,02%, 900 MHz:0,02%, 800 MHz:97,16%  (1194)
analyzing CPU 3:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0 1 2 3
  CPUs which need to have their frequency coordinated by software: 3
  maximum transition latency: 10.0 us.
  hardware limits: 800 MHz - 2.00 GHz
  available frequency steps: 2.00 GHz, 2.00 GHz, 1.90 GHz, 1.80 GHz, 1.70 GHz, 1.60 GHz, 1.50 GHz, 1.40 GHz, 1.30 GHz, 1.20 GHz, 1.10 GHz, 1000 MHz, 900 MHz, 800 MHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance
  current policy: frequency should be within 800 MHz and 2.00 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 800 MHz (asserted by call to hardware).
  cpufreq stats: 2.00 GHz:3,07%, 2.00 GHz:0,02%, 1.90 GHz:0,01%, 1.80 GHz:0,00%, 1.70 GHz:0,01%, 1.60 GHz:0,01%, 1.50 GHz:0,01%, 1.40 GHz:0,01%, 1.30 GHz:0,01%, 1.20 GHz:0,01%, 1.10 GHz:0,03%, 1000 MHz:0,03%, 900 MHz:0,01%, 800 MHz:96,77%  (1004)

回答:


4

Mintの最新バージョンでも同じ問題があり、スケーリングを控えめに設定することは、オンデマンドが機能する方法に最も近いように見えました。

次に、問題が何であるかを発見しました。up_thresholdが高すぎて、95%の負荷に設定されていましたが、これは継続的な負荷には問題ありませんが、ほとんどの場合、CPUアクティビティの小さなバーストがあり、CPUが必要です。 100%の速度にはるかに高速にスケーリングします。私はth up_thresholdを低く設定することでこれを解決しました(私の場合は75で問題ないようです)。希望の値をにエコーして変更し/sys/devices/system/cpu/cpufreq/ondemand/up_thresholdます。


2

私はあなたが使用する必要があることを示唆している木星に似た省電力アプリケーションはありますか?

また、indicator-cpufreqを使用して、現在の周波数を把握する必要があります。インディケータ-cpufreqをインストール/構成する方法を貼り付けたリンクを確認してください

Jupiterに似た省電力アプリケーションはありますか?セクション3.)プロセッサと周波数のスケーリング

ondemand        Dynamically switch between CPU(s) available if at 95% cpu load

CPUを低く保ち、CPU負荷が95%の場合にのみ超えます

performance     Run the cpu at max frequency

conservative    Dynamically switch between CPU(s) available if at 75% load

CPUを低く保ち、75%のCPU負荷の場合にのみ超えます

powersave       Run the cpu at the minimum frequency

0

14.04-16.04(今日の時点)でこの問題が発生しました。それを解決するために、私はUbuntuにBIOSの制限を無視させる必要がありました。以下は私のために働きました:

グラブを開く:

sudo vim /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT行を置き換えます。

- GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
+ GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_pstate=disable processor.ignore_ppc=1"

GRUBの更新:

sudo update-grub

次に再起動します。

echo 1 | sudo dd of=/sys/module/processor/parameters/ignore_ppc
echo 2900000 | sudo dd of=/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 
echo 2900000 | sudo dd of=/sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq 
echo 2900000 | sudo dd of=/sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq 
echo 2900000 | sudo dd of=/sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq 

私のために働いた。CPUコアの数を確認し、それに応じてすべてを更新してください。これらの追加の行を/etc/rc.localに置いて、ブートのたびに実行されるようにすることができます。

忍者の編集:上記の2900000を次の値に置き換えます:

cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq

この後、周波数スケーリングは正常に機能しましたか?温度とパフォーマンスはすべて同じかそれ以上ですか?そして、あなたは/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freqそれを読んで、同じ値を書き戻しますか?どうして?ignore_ppc値を変更するために1を書き込みますか?(PSは、teeまたはの>代わりにを使用できますdd
Xen2050
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.