web-dev-qa-db-ja.com

CPU周波数がスタックしているのはなぜですか?

最近の定期的なアップグレードの後、CPU周波数を手動で変更できないことに気付きました。システムはそれを自動的に実行し、可能な限り最高の周波数を選択します。これにより、システムは高温になります(すでに加熱の問題があります)。

私が見つけた修正のほとんどは2010年以前のスレッド上にあり、適用できなくなりました。

cpufreq-infoの出力は次のとおりです。

cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to [email protected], please.
analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 10.0 us.
  hardware limits: 800 MHz - 1.80 GHz
  available frequency steps: 1.80 GHz, 1.80 GHz, 1.20 GHz, 800 MHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance
  current policy: frequency should be within 1.80 GHz and 1.80 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 1.80 GHz.
  cpufreq stats: 1.80 GHz:77.10%, 1.80 GHz:0.01%, 1.20 GHz:22.86%, 800 MHz:0.02%  (74)
analyzing CPU 1:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 1
  CPUs which need to have their frequency coordinated by software: 1
  maximum transition latency: 10.0 us.
  hardware limits: 800 MHz - 1.80 GHz
  available frequency steps: 1.80 GHz, 1.80 GHz, 1.20 GHz, 800 MHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance
  current policy: frequency should be within 1.80 GHz and 1.80 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 1.80 GHz.
  cpufreq stats: 1.80 GHz:77.09%, 1.80 GHz:0.02%, 1.20 GHz:22.88%, 800 MHz:0.02%  (73)

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freqの出力:

1801000
3
RolandiXor

問題はcpufreqdでしたが、Ubuntu MATE Desktopをインストールしたときに問題が発生しました。それを取り除くとシステムに制御が戻り、システムを不必要に過熱することなく使用できるようになりました。

2
RolandiXor

Scaling_min_freqが低い周波数に設定されていないようで、ガバナーがこれらの周波数にアクセスできないようにします。これを操作できるかどうかを確認するために、ターミナルで次のコマンドを入力します。

Sudo -i
for x in /sys/devices/system/cpu/cpu[0-1]/cpufreq; do echo 800000 > $x/scaling_min_freq; done
exit

これで目的の結果が得られる場合は、スクリプト内のループを/etc/rc.localに配置できます。そうでない場合は、システムを再起動して、既知の動作可能な状態に戻します。私のシステムでは、ループの前に実行するecho 1 > /sys/module/processor/parameters/ignore_ppc行も追加する必要がありました。

1
Charles Green