PowerTOP - Linux での電力消費の分析と管理
優れた Linux マシン、特にラップトップの最も重要な特性の 1 つは、バッテリ寿命を延ばすという点での電源管理です。
Linux には、バッテリーのパフォーマンスを監視および追跡するのに役立つユーティリティがありますが、消費電力を管理し、バッテリー寿命を延ばすための適切な電源設定を取得する際に、依然として問題に直面している人が多くいます。
この記事では、Linux マシンのバッテリー電源を管理するための適切なシステム設定を取得するのに役立つPowerTOP と呼ばれる Linux ユーティリティについて説明します。
パワートップとは何ですか?
PowerTOP は、Intel が開発した端末ベースの診断ツールで、Linux システムが電源に接続されていないときに、Linux システム上で実行されているプログラムによる電力使用量を監視するのに役立ちます。
PowerTOP の重要な機能は、ユーザーがさまざまな電源管理設定を試すことができる対話モードを提供することです。
要件
PowerTOP には次のコンポーネントが必要です。
- C++、g++、libstdc++、autoconf、automake などの開発ツールリブツール。
- 上記に加えて、pciutils-devel、ncurses-devel、および libnl-devel コンポーネントも必要です。
- カーネルバージョン => 2.6.38
Linux に Powertop をインストールする方法
PowerTOP は、特定の Linux ディストリビューションのそれぞれのパッケージ マネージャーを使用して、デフォルトのシステム リポジトリから簡単にインストールできます。
sudo apt install powertop [On Debian, Ubuntu and Mint]
sudo yum install powertop [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/powertop [On Gentoo Linux]
sudo apk add powertop [On Alpine Linux]
sudo pacman -S powertop [On Arch Linux]
sudo zypper install powertop [On OpenSUSE]
sudo pkg install powertop [On FreeBSD]
重要: デフォルトのシステム リポジトリから Powertop をインストールすると、古いバージョンが取得されることに注意してください。
Powertop の最新バージョン (つまり、2022 年 9 月 29 日 にリリースされた v2.15) をインストールする場合は、それをビルドしてソースからインストールする必要があります。 , このためには、次の依存関係がシステムにインストールされている必要があります。
------------------- On Debian based Systems -------------------
sudo apt install build-essential ncurses-dev libnl-dev pciutils-dev libpci-dev libtool
------------------- On RedHat based Systems -------------------
sudo dnf install gcc-c++ ncurses-devel libnl-devel pciutils-devel libtool
上記の必要なパッケージをすべてインストールしたら、PowerTop の最新バージョンをダウンロードし、推奨に従ってインストールします。
wget https://github.com/fenrus75/powertop/releases/download/v2.15/powertop.tar.gz
tar -xvf powertop.tar.gz
cd powertop/
./configure
sudo make && make install
Linux で PowerTop を使用するにはどうすればよいですか?
Powertop がアプリケーションによる電力使用量を測定するために必要な情報はすべてシステム ハードウェアから直接収集されるため、このツールを使用するには root 権限が必要です。
ノートパソコンのバッテリー電源で使用して、システムへの影響を確認してください。システムおよびシステムの個々のコンポーネント別の総電力使用量が、デバイス、プロセス、システム タイマーなどのさまざまなカテゴリにリストされて表示されます。 カーネルが動作し中断します。
PowerTop のオプションと使用法を理解する
対話モードを使用せずにすべての調整可能なオプションを最適な設定に設定するには、--auto-tune
オプションを使用します。
キャリブレーション モードで実行するには、--calibrate
オプションを使用します。ラップトップのバッテリで Powertop を実行すると、消費電力とシステム上で実行されているプロセスが追跡され、十分な電力測定値が得られた後、電力推定値がレポートされます。
このオプションを使用すると、このオプションを使用するときにより適切な推定値を取得し、さまざまな表示レベルとワークロードを通じて調整サイクルを実装できます。
デバッグ モードで実行するには、--debug
オプションを使用します。
--csv=filename
を使用して、データ分析用のレポートを生成することもできます。生成されるレポートはCSVレポートと呼ばれ、ファイル名を詳しく指定しない場合は、デフォルト名のpowertop.csvが使用されます。
HTML レポート ファイルを生成するには、--html=filename
オプションを使用します。 --time=秒
を使用して、レポートを生成できる時間を秒単位で指定できます。
--workload=workload_filename
を使用して、レポートを生成する前に調整の一部として実行するワークロード ファイルを指定できます。
ヘルプ メッセージを表示するには、--help
オプションを使用するか、マンページを表示します。
テストを実行する回数を指定するには、--iteration
オプションを使用します。
PowerTop の使用例と例
上記のオプションを何も指定せずに Powertop を実行すると、以下の出力に示すように対話モードで起動します。
powertop
概要画面
この表示画面では、CPU にウェイクアップを最も頻繁に送信しているシステム コンポーネント、またはシステムの電力を最も多く使用しているシステム コンポーネントのリストを表示できます。
アイドル統計画面
プロセッサーの C ステートに関するさまざまな情報が表示されます。
周波数統計画面
この画面には、CPU へのウェイクアップの頻度が表示されます。
デバイス統計画面
概要表示画面と同様の情報が提供されますが、デバイスのみに関する情報が提供されます。
調整可能画面
適切な電力消費を実現するためにシステムを最適化するための提案を提供します。
上記の出力からわかるように、さまざまな表示画面が利用可能であり、 それらを切り替えるにはTab キーとShift+Tab キーを使用できます。画面の下部に表示されているようにEsc キーを押してパワートップを終了します。
システムが毎秒ウェイクアップする回数が表示されます。デバイス統計表示画面を表示すると、さまざまなハードウェア コンポーネントおよびドライバーによる電力使用量の統計が表示されます。
バッテリー電力を最大化するには、システムのウェイクアップを最小限に抑える必要があります。これを行うには、調整可能表示画面を使用できます。
「悪い 」は、電力を節約していないが、システムのパフォーマンスにとっては良い設定であることを示します。
次に、「良い」は電力を節約する設定を示します。調整パラメータで [Enter] キーを押して、他の設定に切り替えます。
以下の例は、--calibrate
オプションを使用した場合の出力を示しています。
powertop --calibrate
キャリブレーションサイクル後、パワートップには以下のような操作の概要を示す概要画面が表示されます。
PowerTop CSV レポートの生成
次の例は、20 秒間の CSV レポートの生成を示しています。
powertop --csv=powertop_report.txt --time=20s
次に、cat コマンドを使用して CSV レポートを表示してみましょう。
cat powertop_report.csv
PowerTop HTML レポートの生成
次のように HTML レポートを生成できます。HTML ファイル拡張子がファイル名に自動的に追加されます。
powertop --html=powertop
サンプル HTML レポート ファイルはブラウザから表示されます。
このツールには、最適な省電力のためにすべての調整パラメータを自動的に「Good」に設定するのに役立つデーモン サービスもあり、次のように使用できます。
systmctl start powertop.service
ブート時にデーモン サービスを開始するには、次のコマンドを実行します。
systemctl enable powertop.service
まとめ
特定の調整パラメータはデータ損失やシステム ハードウェアの異常な動作のリスクを引き起こすため、デーモン サービスを使用する場合は注意が必要です。これは、データの変更を実際のディスクに書き込む前にシステムが待機する時間に影響する「VM ライトバック タイムアウト」設定で明らかです。
システムの電源がすべて失われると、最後の数秒間にデータに加えられたすべての変更が失われる危険があります。したがって、電力を節約するかデータを保護するかのどちらかを選択する必要があります。
しばらくこのツールを使用して、バッテリーのパフォーマンスを観察してみてください。コメントを投稿して、他の多くの同様のツールについて教えたり、Powertop の使用法や発生したエラーに関する情報を追加したりできます。
このようなガイドをさらに入手するには、常に Tecmint に接続してください。