
PowerJoular는 소프트웨어 및 하드웨어 구성 요소의 전력 소비를 실시간으로 모니터링하는 명령 줄 소프트웨어입니다.
자세한 문서 (사용자 및 참조 안내서 포함)는 https://joular.github.io/powerjoular/에서 제공됩니다.
PowerJoular는 다음 플랫폼을 모니터링합니다.
모든 플랫폼에서 PowerJoular는 현재 GNU/Linux에서만 작동합니다.
PC/서버에서 PowerJoular는 PowerCap Linux 인터페이스를 사용하여 Intel RAPL (실행 평균 전력 제한) 에너지 소비를 읽습니다.
PowerJoular는 RAPL 패키지 도메인 (통합 그래픽 및 DRAM 포함)을 지원하고보다 최근의 프로세서의 경우 PSYS 패키지 (전체 SOC의 에너지 소비를 포괄하는)를 지원합니다.
가상 머신에서는 PowerJoular가 두 단계가 필요합니다.
Raspberry Pi 및 Asus Tinker 보드에서 PowerJoular는 자체 연구 기반 경험적 회귀 모델을 사용하여 ARM 프로세서의 전력 소비를 추정합니다.
Raspberry Pi 및 Asus Tinker 보드 모델의 지원되는 목록은 다음과 같습니다. 우리는 각 모델 라인업의 모든 개정을 지원합니다. 그러나이 모델은 특정 개정판 (브래킷 사이에 나열)에 대해 생성 및 교육을받으며 정확도는이 특정 개정판에서 가장 좋습니다.
우리는 현재 다음 Raspberry Pi 및 Asus Tinker 보드 모델을 지원합니다.
PowerJoular는 ADA로 작성되었으며 쉽게 컴파일 할 수 있으며 시스템 경로에 고유 한 바이너리가 추가 될 수 있습니다.
사용하기 쉬운 설치 스크립트는 installer 폴더에서 제공됩니다. 설치자 폴더를 열고 적절한 파일을 실행하여 프로그램 및 SystemD 서비스를 빌드 및/또는 설치 또는 제거하십시오.
build-install.sh : GPRBUILD를 사용하여 ( gprbuild 사용) /usr/bin 및 SYSTEMD 서비스에 프로그램 바이너리를 설치합니다. GNAT 및 GPRBUILD를 설치해야합니다 (컴파일 참조).uninstall.sh : 프로그램 바이너리 및 시스템 서비스를 삭제합니다. PowerJoular를 사용하려면 powerjoular 명령을 실행하십시오. PC/서버에서 PowerJoular는 Linux PowerCap SYSFS를 통해 Intel의 RAPL을 사용하므로 최신 Linux 커널 (5.10 및 새로운) : sudo powerjoular 에서 Root/Sudo 액세스가 필요합니다.
기본적으로 소프트웨어는 CPU의 전력 소비와 활용을 보여줍니다. 마지막 메트릭에서 전력 소비의 차이 (증가 또는 감소)도 표시됩니다.
다음 옵션을 사용할 수 있습니다.
-h : 도움말 메시지를 보여주세요-v : 표시 버전 번호-p pid : 모니터링 할 특정 PID를 지정하십시오-a appName : 모니터링 할 특정 응용 프로그램 이름을 지정합니다 (응용 프로그램의 모든 PID를 모니터링합니다)-f filename : 주어진 파일 이름 경로에 데이터 모니터링 저장-o filename : 마지막 모니터링 데이터 만 주어진 파일 이름 경로에 저장합니다 (최신 전력 측정 만 포함하여 파일)-t : 에너지 데이터를 터미널에 인쇄합니다-d : 디버그 정보를 터미널에 인쇄하십시오-l : Raspberry Pi Energy 모델에 선형 회귀 모델 (기본 다항식 모델보다 정확하지 않음) 사용-m : 가상 시스템의 전력 소비에 대한 파일 이름을 지정합니다.-s : VM Power 형식, powerjoular 형식 ( -o 옵션으로 생성 된 3 열 CSV 파일을 포함하여 전력 소비가 포함 된 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
다른 배포판의 경우 패키지 관리자를 사용하여 컴파일러를 다운로드 하거나이 기사에서 RHEL 및 GCC에서 ADA 지원으로 배송되지 않는 클론을 포함한 다양한 배포에 대한 쉬운 지침을 확인하십시오.
프로젝트를 컴파일하려면 최신 GPRBuild 버전을 사용하는 경우 gprbuild 만 입력하십시오.
또는 이전 버전에서 먼저 /obj 폴더를 작성한 다음 gprbuild powerjoular.gpr 입력하십시오.
PowerJoular 바이너리는 obj/ 폴더에서 생성됩니다.
기본적으로 프로젝트는 필요한 라이브러리를 정적으로 연결하므로 PowerJoular 바이너리를 호환 가능한 시스템에 복사하여 AS-IS를 사용 할 수 있습니다.
동적 링크로 빌드하려면 powerjoular.gpr 파일의 정적 스위치를 제거하거나 주석하십시오.
package Binder is
for Switches ("Ada") use ("-static");
end Binder;
GPRBUILD 없이만 GNAT 컴파일러로만 PowerJoular를 컴파일 할 수도 있습니다.
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 Binary 설치 패키지를 생성합니다.
스크립트에는 DEB 및 RPM 포장 도구와 함께 X86_64 및 AARCH64 GNAT 컴파일러가 필요합니다.
분포에 따라 설치하십시오. 예를 들어, 우분투에서 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 에 저장합니다. 부팅시 서비스를 자동으로 실행할 수 있습니다.
GNU/Linux 제공 패키지를 사용하여 PowerJoular를 설치할 때 SystemD 서비스는 자동으로 설치됩니다.
연구 논문에서 우리의 작업을 인용하려면, 지능형 환경에 관한 제 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, Universitite de Pau et des는 De l 'Adour를 지불합니다. 모든 권리 보유. 이 프로그램과 함께 제공되는 자료는이 배포와 함께 제공되는 GNU General Public License v3.0 전용 (GPL-3.0 전용)의 조건에 따라 제공되며 https://www.gnu.org/licenses/gpl-3.0.en.html에서 제공됩니다.
저자 : Adel Noureddine