web-dev-qa-db-ja.com

再開後の遅いCPU

ラップトップをスリープ状態にした後、CPUが最も遅い周波数(約600〜700MHz)にロックされることがあります。

私のラップトップはi5-2520mを搭載したDell E6420です。
カーネルバージョン:4.6.0-040600-generic。
最初にこのバグに遭遇したのは、14.04リリースです。そして今、16.04があり、それはまだそこにあります。

私はラップトップで作業していますが、すべてが素晴らしく、素早く、スムーズです。ふたを閉じてラップトップをスリープ状態にし、電源を切断します。バッテリーでスリープ状態です。しばらくして戻ってきて、蓋を開けます。そして、すべてが地獄のように遅いです; D
を使用してCPU周波数を確認します

watch -n 1 'cat /proc/cpuinfo | grep MHz'

コアがすべて600Mgzの周波数で動作していることがわかります。

スケーリングガバナーを確認します

cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

そして、「省電力」が表示されます。

これを「修正」するには、このようなことをしなければなりません

echo 'performance' > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo 'performance' > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
echo 'performance' > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor
echo 'performance' > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor

その後、すべてが以前と同様に迅速になります。

CPUスケーリングドライバーはintel_pstateでチェックされます

cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_driver                                                 

私はいつもこのスクリプトを実行していることにうんざりしています。 Ubuntuやラップトップ(誰のせいなのかわからない)に頼ることができなくなったようです。

スリープ後にCPUが遅い理由。なぜこれが起こるのですか?このバグを解決するには?

4
justmatt

LapTopの問題は、一部のDell LapTopの既知の問題です。バッテリー電源の一時停止から再開すると、Dell biosは、バッテリー電力を節約するためにパフォーマンスを少し制限する方法として使用されるようにクロック変調を設定します。問題は、intel_pstate CPU周波数スケーリングドライバーは、現在の形式では、クロック変調と互換性がなく、パフォーマンスを少し制限する代わりに、CPU周波数を通常の下限以下にハードドライブすることです。

推奨される解決策は、intel_pstateドライバーを無効にし、代わりにacpi-cpufreq CPU周波数スケーリングドライバーを使用することです。 acpi-cpufreqドライバーは、クロック変調に「適切に」応答します。

Grubを使用している場合は、/etc/default/grubを編集し、GRUB_CMDLINE_LINUX_DEFAULT行を変更します。例、その行に何か他のものがある場合:

GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 intel_pstate=disable"

後でSudo update-grubを実行してください。また、編集する前に元のファイルのコピーを保存することをお勧めします。 Sudoとして編集します。

4
Doug Smythies