RHEL9 カーネルコマンドラインオプションを使用した C-状態の無効化方法

環境
Red Hat Enterprise Linux release 9.3

前提条件
tuned サービスが実行されていないか、C-状態設定を更新しないように設定されています。

操作方法
1.システムが使用するアイドル状態のドライバーを表示します。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# cat /sys/devices/system/cpu/cpuidle/current_driver
intel_idle
# cat /sys/devices/system/cpu/cpuidle/current_driver intel_idle
# cat /sys/devices/system/cpu/cpuidle/current_driver
intel_idle

2.ホストが intel_idle ドライバーを使用している場合は、intel_idle.max_cstate カーネルパラメーターを設定して、
CPU コアが使用できる最高の C-状態を定義します。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# grubby --update-kernel=ALL --args="intel_idle.max_cstate=0"
# grubby --update-kernel=ALL --args="intel_idle.max_cstate=0"
# grubby --update-kernel=ALL --args="intel_idle.max_cstate=0"

intel_idle.max_cstate=0 を設定すると、intel_idle ドライバーが無効になります。
その結果、カーネルは、EFI ファームウェアで設定された C-状態値を使用する acpi_idle ドライバーを使用します。

3.すべてのホストで、CPU ベンダーから独立して、CPU コアが使用できる最高の C-状態を設定します。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# grubby --update-kernel=ALL --args="processor.max_cstate=0"
# grubby --update-kernel=ALL --args="processor.max_cstate=0"
# grubby --update-kernel=ALL --args="processor.max_cstate=0"

4.変更を有効にするためにホストを再起動します。
# reboot

5.動作確認
1).最大の C-状態を表示します。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# cat /sys/module/processor/parameters/max_cstate
1
# cat /sys/module/processor/parameters/max_cstate 1
# cat /sys/module/processor/parameters/max_cstate
1

2).ホストが intel_idle ドライバーを使用している場合は、最大の C-状態を表示します。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# cat /sys/module/intel_idle/parameters/max_cstate
0
# cat /sys/module/intel_idle/parameters/max_cstate 0
# cat /sys/module/intel_idle/parameters/max_cstate
0

 

IT

Posted by arkgame