
PowerJoularは、ソフトウェアとハードウェアコンポーネントの電力消費をリアルタイムで監視するコマンドラインソフトウェアです。
詳細なドキュメント(ユーザーおよび参照ガイドを含む)は、https://joular.github.io/powerjoular/で入手できます。
PowerJoularは次のプラットフォームを監視しています。
すべてのプラットフォームで、PowerJoularは現在GNU/Linuxでのみ動作しています。
PC/サーバーでは、PowerJoularはPowerCap Linuxインターフェイスを使用して、Intel RAPL(平均電力制限の実行)エネルギー消費を読み取ります。
PowerJoularは、RAPLパッケージドメイン(統合グラフィックスとDRAMを含むコア)をサポートし、最近のプロセッサでは、PSYSパッケージ(SOC全体のエネルギー消費をカバーする)をサポートしています。
仮想マシンでは、PowerJoularには2つのステップが必要です。
Raspberry PiおよびAsus Tinkerボードでは、PowerJoularは独自の研究ベースの経験的回帰モデルを使用して、アームプロセッサの消費電力を推定しています。
Raspberry PiおよびAsus Tinkerボードモデルのサポートされているリストを以下に示します。各モデルラインナップのすべての改訂をサポートしています。ただし、モデルは生成され、特定のリビジョン(ブラケットの間にリストされている)でトレーニングされており、この特定の改訂では精度が最適です。
現在、次のRaspberry PiおよびAsus Tinkerボードモデルをサポートしています。
PowerJoularはADAで書かれており、簡単にコンパイルでき、システムパスにその一意のバイナリが追加されます。
使いやすいインストールスクリプトは、 installerフォルダーで利用できます。インストーラーフォルダーを開き、適切なファイルを実行して、プログラムとSystemDサービスをビルドおよび/またはインストールまたはアンインストールします。
build-install.sh gprbuild使用して)構築し、プログラムバイナリを/usr/binおよびsystemdサービスをインストールします。 GNATとGPRBUILDをインストールする必要があります(コンピレーションを参照)。uninstall.sh :プログラムバイナリおよびSystemDサービスを削除します。 PowerJoularを使用するには、コマンドpowerjoularを実行してください。 PC/サーバーでは、PowerJoularはLinux PowerCap SYSFSを介してIntelのRAPLを使用するため、最新のLinuxカーネル(5.10以降)でルート/SUDOアクセスを必要とします: sudo powerjoular 。
デフォルトでは、ソフトウェアはCPUの消費電力とその利用を示します。最後のメトリックからの消費電力の違い(増加または減少)も表示されます。
次のオプションが利用可能です。
-h :ヘルプメッセージを表示します-v :バージョン番号を表示します-p pid :監視する特定のPIDを指定します-a appName :監視する特定のアプリケーション名を指定します(アプリケーションのすべてのPIDを監視します)-f filename :監視データを指定されたファイル名に保存します-o filename :指定されたファイル名に最後の監視データのみを保存します(最新の電力測定値のみで上書き)-t :エネルギーデータを端末に印刷します-d :デバッグ情報を端末に印刷します-l :ラズベリーPIエネルギーモデルに線形回帰モデル(デフォルトの多項式モデルよりも精度が低い)を使用します-m :仮想マシンの電力消費用のファイル名を指定します-s :VM電源の形式、 powerjoular形式( -oオプションで生成された:3列のCSVファイルがVMを含む3列CSVファイル)またはwatts形式(VMの消費電力のみを含む1列)を指定します。オプションを混ぜることができます。つまり、 powerjoular -tp 144 PID 144を監視し、端末に印刷します。
PowerJoularはADAで書かれており、GNATなどの最新のADAコンパイラが必要です。
PowerJoularは、その機能の特定について、次のコマンドとライブラリに依存しますが、それらなしで機能できます。
最新のGNU/Linuxディストリビューションでは、通常、配布のリポジトリから入手可能なGNATコンパイラ(およびGPRBUILD)をインストールするだけです。
Fedora:
sudo dnf install fedora-gnat-project-common gprbuild gcc-gnat
Debian, Ubuntu or Raspberry Pi OS:
sudo apt install gnat gprbuild
その他のディストリビューションについては、パッケージマネージャーを使用してコンパイラをダウンロードするか、GCCにADAサポートと出荷されないRHELやそのクローンなど、さまざまな分布の簡単な指示についてこの記事を確認してください。
プロジェクトをコンパイルするには、最新のgprbuildバージョンを使用する場合はgprbuildと入力してください。
または、古いバージョンでは、最初に/objフォルダーを作成し、次にgprbuild powerjoular.gprと入力します。
PowerJoularバイナリは、 obj/フォルダーに作成されます。
デフォルトでは、プロジェクトは必要なライブラリを静的にリンクするため、PowerJoularバイナリを互換性のあるシステムにコピーして使用できます。
動的リンクで構築するには、 powerjoular.gprファイルの静的スイッチ、特にこれらの行の削除、またはコメントします。
package Binder is
for Switches ("Ada") use ("-static");
end Binder;
GNATコンパイラのみでPowerJoularをコンパイルすることもできます(GPRBUILDは必要なく)。
Gnatmakeを使用してコンパイルするだけです。たとえば、 obj/フォルダーからコンパイルするには(そこで.Oおよび.ALIファイルが生成されます)、次のように入力してください。
mkdir -p obj
cd obj
gnatmake ../src/powerjoular.adb
Alireがインストールされている場合は、次のようにPowerJoularを構築するために使用できます。
alr build
release-version.shスクリプトは、PowerJoularを複数のプラットフォームに相互にコンパイルします(現在はx86_64およびAARCH64ですが、他のプラットフォームを追加するために調整できます)。スクリプトは、これらのプラットフォームのRPMおよびDEBバイナリインストールパッケージを生成します。
スクリプトには、x86_64とAarch64 GNATコンパイラが必要であり、DEBおよびRPMパッケージツールが必要です。
配布に従ってそれらをインストールします。たとえば、ubuntu 22.04 x86_64:
sudo apt install gnat gnat-12-aarch64-linux-gnu dpkg rpm
SystemDサービスが提供され、インストールできます( systemdフォルダーのpowerjoular.serviceを/etc/systemd/system/にコピーして)。このサービスは、 -oオプション(最新の電源データのみを保存する)でプログラムを実行し、 /tmp/powerjoular-service.csv powerjoular-service.csvにデータを保存します。サービスは、ブートで自動的に実行できるようにすることができます。
SystemDサービスは、GNU/Linux提供されたパッケージを使用してPowerJoularをインストールするときに自動的にインストールされます。
研究論文で私たちの作品を引用するには、インテリジェント環境に関する第18回国際会議(IE2022)で私たちの論文を引用してください。
@inproceedings{noureddine-ie-2022,
title = {PowerJoular and JoularJX: Multi-Platform Software Power Monitoring Tools},
author = {Noureddine, Adel},
booktitle = {18th International Conference on Intelligent Environments (IE2022)},
address = {Biarritz, France},
year = {2022},
month = {Jun},
keywords = {Power Monitoring; Measurement; Power Consumption; Energy Analysis}
}
PowerJoularは、GNU GPL 3ライセンスのみ(GPL-3.0のみ)に基づいてライセンスされています。
Copyright(c)2020-2024、Adel noureddine、Universitédepauet des pays de l'adour。無断転載を禁じます。このプログラムと付随する資料は、この分布に付随するGNU General Public License v3.0のみ(GPL-3.0のみ)の条件で利用可能になり、https://www.gnu.org/licenses/gpl-3.0.en.htmlで入手できます。
著者:Adel Noureddine