Red Hat Enterprise Linux 7 で ACPI CPUfreq ドライバーを使用する方法
Environment
- Red Hat Enterprise Linux 7.x
Issue
ACPI CPUfreq ドライバーのロード中に以下のエラーが発生します。
# modprobe acpi_freq
modprobe: FATAL: Module acpi_freq not found.
# modprobe acpi-cpufreq
FATAL: Error inserting acpi_cpufreq (/lib/modules/2.6.32-220.13.1.el6.x86_64/kernel/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.ko): No such device
場合によっては、起動時に以下のメッセージが表示されます。
kernel: p4-clockmod: Warning: EST-capable CPU detected. The acpi-cpufreq
module offers voltage scaling in addition of frequency scaling. You
should use that instead of p4-clockmod, if possible.
Resolution
- まず、OS による CPU 電源管理の制御を許可するようにシステム BIOS が設定されていることを確認します。
例: HP ProLiant DL380 Gen10 ハードウェアの場合は以下で行います。
System configuration ---> Bios ---> Power Management で、'Power Profile' を Custom、Power Regulator を 'OS Control Mode' に変更しました。
注記: 上記の方法はハードウェアにより異なる場合がありますが、主な目的は電源管理の制御を OS に切り替えることです。
- 次に、カーネルコマンドラインパラメーターとして intel_pstate=disable を追加します。
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=rhel_hp/root rd.lvm.lv=rhel_hp/swap intel_pstate=disable console=ttyS0,115200"
How do I permanently modify the kernel command line in RHEL7? を参照してください。
/proc/cmdline ファイル内に intel_pstate=disable パラメーターが存在することを確認します。
# grep intel_pstate /proc/cmdline
Diagnostic Steps
- 以下の CPUfreq モジュールを使用できます。
$ ls /lib/modules/<kernel-version>/kernel/drivers/cpufreq
acpi-cpufreq.ko.xz amd_freq_sensitivity.ko.xz cpufreq_stats.ko.xz p4-clockmod.ko.xz pcc-cpufreq.ko.xz powernow-k8.ko.xz speedstep-lib.ko.xz
- 最初に表示される出力は次のとおりです。
$ cpupower frequency-info
analyzing CPU 0:
no or unknown cpufreq driver is active on this CPU <<------
CPUs which run at the same hardware frequency: Not Available
CPUs which need to have their frequency coordinated by software: Not Available
maximum transition latency: Cannot determine or is not supported.
hardware limits: Not Available
[..........]
$ cpupower frequency-info
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: Cannot determine or is not supported.
hardware limits: 1.20 GHz - 2.40 GHz
available cpufreq governors: conservative userspace powersave ondemand performance
current policy: frequency should be within 1.20 GHz and 2.40 GHz.
The governor "performance" may decide which speed to use
[..................]
解決策の実行後は以下のコマンド出力で ACPI CPUfreq モジュールがロードされたことを確認可能
$ cpupower frequency-info
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: 1.20 GHz - 2.40 GHz
available frequency steps: 2.40 GHz, 2.40 GHz, 2.30 GHz, 2.20 GHz, 2.10 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
available cpufreq governors: conservative userspace powersave ondemand performance
current policy: frequency should be within 1.20 GHz and 2.40 GHz.
The governor "performance" may decide which speed to use
[........]
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.
Comments