コンテンツにスキップ

cpupower - CPU 周波数・Governor 制御 チートシート

cpupower - CPU 周波数・Governor 制御 チートシート

cpupower は Linux kernel **CPU 周波数スケーリング(cpufreq)アイドル状態(cpuidle)**subsystems を検査・制御。各コアの実行速度表示、scaling governor 切り替え(例 performance 最大速度、powersave 効率)、周波数ピン・バウンド、深い C-states 検査/無効化でスタートアップレイテンシー低減。マシンから予測可能パフォーマンスまたはラップトップで電力節約を絞り出す標準ツール。

インストール

プラットフォームコマンド
Debian/Ubuntusudo apt install linux-cpupower
Fedora/RHELsudo dnf install kernel-tools
Arch Linuxsudo pacman -S cpupower
確認cpupower --version

状態検査

コマンド表示内容
cpupower frequency-infoGovernor、現在/最小/最大周波数、driver
cpupower -c all frequency-infoすべてコアの情報
cpupower idle-info利用可能 C-states と使用状況
cpupower monitorリアルタイム コア毎周波数/アイドル residency
watch -n1 'cpupower -c all frequency-info -f'ライブ周波数
# governor と現在速度クイックルック
cpupower frequency-info

Governors

Governor動作
performance常に最大周波数で実行
powersave最低周波数優先(または intel_pstate min)
ondemandロード下で高速スケール
conservative段階的スケール
schedutilScheduler 駆動スケーリング(モダンデフォルト)
userspace手動周波数設定
# 利用可能 governors 確認
cpupower frequency-info -g

# すべてコアで performance governor 設定
sudo cpupower frequency-set -g performance

周波数設定

コマンド効果
sudo cpupower frequency-set -g performanceGovernor 設定
sudo cpupower frequency-set -d 2.0GHz最小周波数設定
sudo cpupower frequency-set -u 3.5GHz最大周波数設定
sudo cpupower frequency-set -f 3.0GHz固定周波数ピン(userspace gov)
sudo cpupower -c 0-3 frequency-set -g powersaveコア毎 governor

アイドル状態(C-states)

深い C-states は電力節約だが開始レイテンシー追加 — レイテンシー機密ワークロードの問題。

コマンド効果
cpupower idle-infoC-states と residency リスト
sudo cpupower idle-set -d 3特定 C-state 無効化
sudo cpupower idle-set -e 3C-state 有効化
sudo cpupower idle-set -D 10レイテンシー > 10µs な C-states 無効化
# レイテンシー重要:一貫性ある開始のため深いアイドル状態無効化
sudo cpupower idle-set -D 5

ロード下での監視

# ワークロード時に周波数・アイドル residency がどう応答するか監視
cpupower monitor -i 1

コア毎周波数・各 C-state 時間表示 — governor 変更が実際に効いたか確認に便利。

変更を永続化

cpupower frequency-set はリブート横切り永続化しません。オプション:

方法実行方法
systemd servicesystemctl で /etc/default/cpupowercpupower 有効化
/etc/default/cpupowerGOVERNOR="performance" 設定
TuneDtuned でプロファイル経由 governor 管理
rc.local / unitブート時に frequency-set コマンド実行

一般的なワークフロー

# ベンチマークボックス:再現可能な数字のため performance でロック
sudo cpupower frequency-set -g performance
cpupower frequency-info -f -c all      # 確認

# ラップトップ:バッテリー節約
sudo cpupower frequency-set -g powersave

# レイテンシーチューニング:performance governor + 浅いアイドル
sudo cpupower frequency-set -g performance
sudo cpupower idle-set -D 5

cpupower vs 関連ツール

ツール役割
cpupowerCPU 周波数/governor + アイドル状態制御
tuned全システムプロファイル(governor + その他設定)
numactlNUMA CPU/メモリバインディング
tasksetプロセス CPU アフィニティ
turbostat詳細 コア毎周波数/電力テレメトリー

統合全システムアプローチのために、tuned に governor 管理させ。cpupower を直接コア毎制御・検査に使用。

リソース