2.2. PowerTOP
Red Hat Enterprise Linux 7 でのティックレスカーネルの導入により、CPU がより頻繁にアイドル状態になることができるようになり、消費電力が削減され、電力管理が改善されます。PowerTOP ツールは、CPU を頻繁にウェイクアップするカーネルおよびユーザー空間アプリケーションの特定のコンポーネントを特定します。PowerTOP は 開発時に監査を実行するために使用され、このリリースでは多くのアプリケーションが調整され、不必要な CPU ウェイクアップが 10 分の 1 に削減されました。
Red Hat Enterprise Linux 7 には、PowerTOP のバージョン 2.x が付属しています。このバージョンは、1.x コードベースを完全に書き直したものです。より明確なタブベースのユーザーインターフェイスが特徴で、カーネルの "perf" インフラストラクチャーを広範囲に使用して、より正確なデータを提供します。システムデバイスの電源動作が追跡され、目立つように表示されるため、問題をすばやく特定できます。より実験的には、2.x コードベースには、個々のデバイスやプロセスが消費している電力を示すことができる電力推定エンジンが含まれています。図2.1「稼働中の PowerTOP」を参照してください。
PowerTOP を インストールするには、
root
として次のコマンドを実行します。
~]# yum install powertop
PowerTOP を実行するには、
root
として次のコマンドを使用します。
~]# powertop
PowerTOP は、 システムの合計電力使用量の推定値を提供し、各プロセス、デバイス、カーネル作業、タイマー、および割り込みハンドラーの個別の電力使用量を表示できます。このタスク中、ラップトップはバッテリ電源で動作する必要があります。電力推定エンジンを調整するには、
root
として次のコマンドを実行します。
~]# powertop --calibrate
調整には時間がかかります。このプロセスではさまざまなテストが実行し、輝度レベルが繰り返され、デバイスのオンとオフが切り替えられます。プロセスを終了し、キャリブレーション中はマシンを操作しないでください。調整プロセスが完了すると、PowerTOP は 通常どおり起動します。データを収集するために約 1 時間実行します。十分なデータが収集されると、消費電力の見積もりが最初の列に表示されます。
ラップトップでコマンドを実行している場合は、使用可能なすべてのデータが表示されるように、バッテリー電源で実行する必要があります。
PowerTOP は 実行中にシステムから統計を収集します。概要 タブでは、CPU にウェイクアップを最も頻繁に送信しているコンポーネント、または最も多くの電力を消費しているコンポーネントのリストを表示できます (図2.1「稼働中の PowerTOP」)。隣接する列には、電力の見積もり、リソースの使用状況、1 秒あたりのウェイクアップ、コンポーネントの分類 (プロセス、デバイス、タイマーなど)、およびコンポーネントの説明が表示されます。1 秒あたりのウェイクアップ数は、サービスまたはデバイス、ならびにカーネルのドライバーがいかに効率的に実行しているかを示します。ウェイクアップが少ないということは、消費電力が少ないことを意味します。コンポーネントは、電力使用率をどの程度まで最適化できるかによって順序付けられます。
通常、ドライバーコンポーネントのチューニングにはカーネルの変更が必要ですが、これはこのドキュメントでは扱いません。ただし、ウェイクアップを送信するユーザーランドプロセスは、より簡単に管理できます。まず、このサービスまたはアプリケーションをこのシステムで実行する必要があるかどうかを判断します。そうでない場合は、単に無効にします。古い System V サービスを完全にオフにするには、次のコマンドを実行します。
~]# systemctl disable servicename.service
プロセスの詳細については、
root
として次のコマンドを実行してください。
~]# ps -awux | grep processname ~]# strace -p processid
トレースが繰り返されているように見える場合は、おそらくビジーループです。通常、このようなバグを修正するには、そのコンポーネントのコードを変更する必要があります。
図2.1「稼働中の PowerTOP」 に見られるように、総電力消費量とバッテリー残量が表示されます (該当する場合)。これらの下には、1 秒あたりの合計ウェイクアップ、1 秒あたりの GPU 操作、および 1 秒あたりの仮想ファイルシステム操作を示す短い要約があります。画面の残りの部分には、使用率に従ってソートされたプロセス、割り込み、デバイス、およびその他のリソースのリストがあります。適切に調整すると、最初の列にリストされているすべての項目に対する電力消費予測も表示されます。
Tab キーと Shift+Tab キーを使用してタブを切り替えます。アイドル統計 タブには、すべてのプロセッサーとコアの C ステートの使用が表示されます。周波数統計 タブには、ターボモード (該当する場合) を含む P ステートの使用状況がすべてのプロセッサーとコアに対して表示されます。CPU がより高い C または P ステートに長く留まるほど、より良い状態になります (
C4 は
C3
よりも高い)。これは、CPU 使用率がどの程度最適化されているかを示す良い指標です。レジデンシーは、システムがアイドル状態の間、最高の C または P 状態で 90% 以上であることが理想的です。
デバイス統計 タブには、概要 タブと同様の情報が表示されますが、デバイスのみが対象となります。
Tunables タブには、消費電力を低減するためにシステムを最適化するための提案が含まれています。上下 キーを使用して候補内を移動し、Enter キーを使用して候補 の オンとオフを切り替えます。
図2.1 稼働中の PowerTOP
[D]
--html
オプションを指定して PowerTOP を実行して、HTML レポートを生成することもできます。htmlfile.html パラメーターを、出力ファイルに必要な名前に置き換えます。
~]# powertop --html=htmlfile.html
デフォルトでは、PowerTOP は 20 秒間隔で測定を行いますが、
--time
オプションを使用して変更できます。
~]# powertop --html=htmlfile.html --time=seconds
PowerTOP の詳細については、PowerTOP のホームページ を参照してください。
PowerTOP は、ターボスタット ユーティリティーと組み合わせて使用することもできます。Intel 64 プロセッサーのプロセッサートポロジー、周波数、アイドル状態の電源状態の統計情報、温度、および電力使用量に関する情報を表示するレポートツールです。turbostat ユーティリティーの詳細については、turbostat (8) のマニュアルページを参照するか、パフォーマンスチューニングガイドを 参照してください。