Windows 10 の E3 (Energy Estimation Engine) を利用したバッテリー消費の調査について
こんにちは。 Surface 法人向けサポート担当の岩松です。
Windows 10 では、Energy Estimation Engine (E3) というバッテリーで動作するデバイス上で動作するサービスが搭載されており、電力消費がどのハードウェア コンポーネントやアプリケーションによるものかを調査できます。
この記事では、Surface でこの機能は利用してバッテリー寿命への影響を調査する例をご紹介します。
バッテリー消費を UI から確認する
E3 の機能は、UI からも手軽に利用することができます。
[設定] - [システム] - [バッテリー] と選択し、[アプリによるバッテリーの使用] を選択します。
これを確認することで、過去 1 週間など、特定の期間にバッテリーを多く消費したアプリを確認することができます。
より詳細なレポートでバッテリー消費を分析する
UI による表示では、ユーザー モードのアプリケーションのみが表示され、また、表示可能な期間も限定されています。
更に詳細な解析を行いたい場合は、 powercfg コマンドからレポートを生成します。
(1) 解析の準備
E3 のサービス (DPS) では、過去に遡って調査すること及び特定の期間のバッテリー消費を調査することができます。
特定の期間のバッテリー消費について調査する場合は、一度 E3 のサービス (DPS) を停止してデータベースをバックアップし、その後のサービスを再開してデータの記録を開始します。
(このサービスの開始タイミングからレポートを保存した時点までが解析できる期間となります。)
その場合、管理者権限のコマンド プロンプトから以下を実行します。
実行完了後、バッテリー消費量を検証したい動作を開始します。
cd C:\Windows\system32\sru
sc stop dps
ren srudb.dat surdb.dat.bak
sc start
(2) レポートの保存
バッテリー消費量を検証したい動作が完了したら、以下のコマンドでレポートを出力します。
powercfg /srumutil
レポートは、 srumutil.csv という名称で保存されます。/xml オプションをつけることで xml 形式での保存も可能です。
このファイルは Excel などの表計算ソフトで開くことができ、以下のようなデータを参照・分析することができます。
AppId: 電力消費が属するシステム内のプロセスの名称
MeasuredPower: Power Meter chipを持っているかどうか。
Foreground: フォアグラウンドの動作かバックグラウンドの動作か
ScreenOn: 画面が点灯していたかどうか
CPUEnergyconsumption: CPU によるバッテリー消費。約80パーセントの確実性があるデータです。
NetworkEnergy: ネットワークによるバッテリー消費。そこまで正確な数値ではない。
OtherDvicesEnergyConsumption: その他のデバイスによるバッテリー消費。
TotalEnergyConsumption: 全てのバッテリー消費の合計
例えば、Excel のピボット テーブル機能で、AppId を列に、TotalEnergyConsumption を合計の値に指定して表示することで、電力消費の多いプロセスを特定することができます。
これらの機能を、ご利用の環境でのバッテリーの問題の調査にぜひご活用ください。