私のラップトップ(Linuxを実行)でCPU周波数を変更しようとしましたが、成功しませんでした。
以下はいくつかの詳細です。
# uname -a
Linux yoga 3.12.21-gentoo-r1 #4 SMP Thu Jul 10 17:32:31 HKT 2014 x86_64 Intel(R) Core(TM) i5-3317U CPU @ 1.70GHz GenuineIntel GNU/Linux
# cpufreq-info
cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to [email protected], please.
analyzing CPU 0:
driver: intel_pstate
CPUs which run at the same hardware frequency: 0
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: 0.97 ms.
hardware limits: 800 MHz - 2.60 GHz
available cpufreq governors: performance, powersave
current policy: frequency should be within 800 MHz and 2.60 GHz.
The governor "powersave" may decide which speed to use
within this range.
current CPU frequency is 2.42 GHz (asserted by call to hardware).
(similar information for cpus 1, 2 and 3)
# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
performance powersave
もともとユーザースペースレギュレータをカーネルに構築しましたが、それをモジュールとして構築しようとしました(同じ結果)。上記のコマンドを実行したときにロードされました(ロード中にシステムメッセージが見つかりませんでした)。
# lsmod
Module Size Used by
cpufreq_userspace 1525 0
(some other modules)
周波数を変更するコマンドは次のとおりです。
# cpufreq-set -f 800MHz
Error setting new values. Common errors:
- Do you have proper administration rights? (super-user?)
- Is the governor you requested available and modprobed?
- Trying to set an invalid policy?
- Trying to set a specific frequency, but userspace governor is not available,
for example because of hardware which cannot be set to a specific frequency
or because the userspace governor isn't loaded?
# cpufreq-set -g userspace
Error setting new values. Common errors:
- Do you have proper administration rights? (super-user?)
- Is the governor you requested available and modprobed?
- Trying to set an invalid policy?
- Trying to set a specific frequency, but userspace governor is not available,
for example because of hardware which cannot be set to a specific frequency
or because the userspace governor isn't loaded?
どんなアイデアがありますか?
答え1
これは、システムが次の新しいドライバを使用しているためです。intel_pstate
。このドライバを使用するときは、2つのガバナー(powersave
および)のみを使用できますperformance
。ガバナーは
以前のuserspace
ドライバでのみ動作します。acpi-cpufreq
起動時にガバナーを無効にすると、ガバナーが自動的に使用されます。次に、次を使用してガバナー/周波数を設定します。intel_pstate
cpupower
- 現在のドライバを無効にする:
intel_pstate=disable
カーネルのブートラインに追加 userspace
モジュールを起動してロードします。modprobe cpufreq_userspace
- ガバナー設定:
cpupower frequency-set --governor userspace
- 周波数設定:
cpupower --cpu all frequency-set --freq 800MHz
答え2
答えはあなたの質問にあります。
for core in $(seq 0 "$(($(getconf _NPROCESSORS_ONLN) - 1))"); do
echo {performance|powersave} >/sys/devices/system/cpu/cpu$core/cpufreq/scaling_governor ;
done
このカーネルとカーネルは、ユーザースペースガバナーがアクティブな状態でコンパイルする必要があります。