사용하기 쉬운 Linux 전원 및 자원 소비 모니터링 라이브러리 및 데몬. CPU, GPU, RAM, I/O, 네트워크 및 전체 시스템을 모니터링합니다.
이 도서관은 meson 건물 시스템으로 사용합니다. Meson을 설치하려면 Python> = 3.8이 필요합니다. 필요에 따라 다음 지침을 확인하십시오.
# Ubuntu
sudo apt install python3 python3-pip # Ubuntu
sudo apt install ninja-buildsudo pip3 install meson의존성
첫째, 이것은 Linux 라이브러리라는 것을 기억하는 것이 중요합니다. 다음의 종속성이 필요합니다.
Fedora 40에서는 다음을 사용하여 이러한 종속성 중 일부를 설치할 수 있습니다.
# ProcPS
yum install procps-ng-devel.x86_64 procps-ng.x86_64
# Linux Perf
yum install perf
# SQLite
yum install libsqlite3x.x86_64 libsqlite3x-devel.x86_64
# ZeroMQ
yum install cppzmq-devel.x86_64
# JsonCPP
yum install jsoncpp-devel.x86_64우분투에서 20.04 :
# ProcPS
apt install libprocps-dev libprocps8
# Linux Perf
apt install linux-tools-common linux-tools-generic
# SQLite
apt install libsqlite3-dev libsqlite3-0
# ZeroMQ
apt install libzmqpp4 libzmqpp-dev
# JsonCPP
apt install libjsoncpp-dev선택 과목
문서에는 GraphViz, Java, Texlive 및 Doxygen과 같은 다른 종속성이 필요합니다. 다음을 사용하여 설치하십시오.
# Ubuntu
sudo apt install doxygen graphviz openjdk-17-jre texlive-font-utils문서를 컴파일하려면 "-dbuild-docs"또는 "-dbuild-docs 전용"을 true로 전환 할 수 있습니다.
Efimon을 컴파일하는 것은 모든 Meson 프로젝트와 동일한 프로세스를 따릅니다. 시스템에 efimon을 사용하려면 단계를 따르십시오.
meson builddir $OPTIONS
ninja -C builddinr
sudo ninja -C builddir Efimon은 /usr/local/ prefix에 설치됩니다.
$OPTIONS 의 경우 다음을 선택할 수 있습니다.
| 옵션 | 기본값 | 값 | 설명 |
|---|---|---|---|
| 빌드 닥 | 거짓 | [참, 거짓] | 문서 컴파일을 활성화하십시오 |
| DOCS 전용 | 거짓 | [참, 거짓] | 문서 전용 컴파일을 활성화하십시오 |
| 빌드 샘플 | 진실 | [참, 거짓] | 예제 컴파일을 활성화합니다 |
| 개발자 모드 | 진실 | [참, 거짓] | 개발자 모드를 활성화합니다 |
| 활성화 PCM | 진실 | [참, 거짓] | 인텔 PCM을 활성화하십시오 |
| 활성화-페프 | 진실 | [참, 거짓] | Linux Perf Tool을 활성화하십시오 |
| 활성화-랩 | 진실 | [참, 거짓] | RAPL 인터페이스를 활성화하십시오 |
| 활성화 SQL | 진실 | [참, 거짓] | SQL 로거를 활성화하십시오 |
| 활성화 -IPMI | 진실 | [참, 거짓] | IPMI 로거를 활성화하십시오 |
TBD
Efimon Power Analyzer는 프로세스를 마무리하고 분석을 수행합니다. 자체 포함되어 있으며 뿌리가 필요합니다.
현재 히스토그램을 기반으로 전력 소비를 측정하기위한 분석기에 중점을 두었습니다.
PID=2000 # Process ID
STIME=10 # Metering during 10 seconds
sudo efimon-power-analyser -p ${PID} -s ${STIME} > consumption.csv그것을 실행하는 또 다른 방법 :
STIME=10 # Metering during 10 seconds
# the command is time sleep 1
sudo efimon-power-analyser -s ${STIME} -c time sleep 1Efimon 데몬은 PID 관찰을 수행하는 서버입니다. IPC (TCP)를 통해 분석 할 프로세스에 대한 정보를받습니다. 루트가 필요합니다.
사용의 예 :
efimon-daemon옵션이 있습니다.
Efimon 런처는 응용 프로그램을 감싸서 실행을 시작하거나 PID를 가로 채립니다. IPC를 통해 Efimon 데몬에 연결하고 분석을 추출합니다.
루트가 필요하지 않습니다.
APP= " ../NanoBenchmark/cpu 11 "
efimon-launcher -s 10 -c ${APP}명령을 시작합니다.
efimon-launcher -s 3 --pid 60603이미 실행중인 프로세스를 모니터링합니다.
옵션이 있습니다.
런처에는 Efimon 데몬의 실행이 필요합니다.
Efimon은 다음 플랫폼에서 테스트되었습니다.
이 프로젝트는 LGPL v2.1 라이센스에 따라 귀하에게 제공됩니다. 상업용 응용 프로그램에서 Efimon으로 동적 연결이 허용됩니다. 파생 된 작업 및 수정은 Efimon (LGPL v2.1)과 동일한 라이센스로 공개되어야합니다.