Linux Power e consumo de recursos fáceis de usar biblioteca e daemon. Monitora a CPU, GPU, RAM, E/S, rede e o sistema geral.
Esta biblioteca usa meson como sistema de construção. Para instalar o meson, é necessário Python> = 3,8. Por favor, verifique as seguintes instruções de acordo com suas necessidades:
# Ubuntu
sudo apt install python3 python3-pip # Ubuntu
sudo apt install ninja-buildsudo pip3 install mesonDependências
Primeiro, é importante lembrar que esta é uma biblioteca Linux. Requer as seguintes dependências:
No Fedora 40, você pode instalar algumas dessas dependências usando:
# 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_64No Ubuntu 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-devOpcional
Para a documentação, você precisará de outras dependências como GraphViz, Java, Texlive e Doxygen. Por favor, instale -os usando:
# Ubuntu
sudo apt install doxygen graphviz openjdk-17-jre texlive-font-utilsVocê pode alternar os "-dbuild-docs" ou "-dbuild-docs-somente" para true se desejar compilar a documentação.
A compilação do Efimon segue o mesmo processo que qualquer projeto de meson. Por favor, siga as etapas para ter Efimon em seu sistema:
meson builddir $OPTIONS
ninja -C builddinr
sudo ninja -C builddir O efimon será instalado no /usr/local/ prefixo.
Para as $OPTIONS , você pode selecionar o seguinte:
| Opção | Valor padrão | Valores | Descrição |
|---|---|---|---|
| Build-Docs | falso | [Verdadeiro, falso] | Ativar compilação de documentos |
| Build-Docs somente | falso | [Verdadeiro, falso] | Ativar compilação somente de documentos |
| Exemplos de construção | verdadeiro | [Verdadeiro, falso] | Ativar exemplos de compilação |
| modo de desenvolvedor | verdadeiro | [Verdadeiro, falso] | Ativar modo de desenvolvedor |
| Ativar PCM | verdadeiro | [Verdadeiro, falso] | Habilite o Intel PCM |
| Ativar-PERF | verdadeiro | [Verdadeiro, falso] | Habilite a ferramenta Linux Perf |
| Enable-Rapl | verdadeiro | [Verdadeiro, falso] | Habilite a interface RAPL |
| Enable-sql | verdadeiro | [Verdadeiro, falso] | Habilite o SQL Logger |
| Ativar-ipmi | verdadeiro | [Verdadeiro, falso] | Habilite o IPMI Logger |
TBD
O Efimon Power Analyzer envolve um processo e executa a análise. É independente e requer root.
Atualmente, focamos um analisador para medir o consumo de energia com base nos histogramas.
PID=2000 # Process ID
STIME=10 # Metering during 10 seconds
sudo efimon-power-analyser -p ${PID} -s ${STIME} > consumption.csvOutra maneira de executá -lo:
STIME=10 # Metering during 10 seconds
# the command is time sleep 1
sudo efimon-power-analyser -s ${STIME} -c time sleep 1O Daemon Efimon é um servidor que executa observações do PID. Ele recebe as informações sobre os processos para analisar o IPC (TCP). Requer root.
Exemplo de uso:
efimon-daemonTem opções para:
O Efimon Launcher envolve um aplicativo, lançando sua execução ou interceptando um PID. Ele se conecta ao daemon Efimon sobre o IPC e extrai a análise.
Não requer root.
APP= " ../NanoBenchmark/cpu 11 "
efimon-launcher -s 10 -c ${APP}Ele inicia um comando.
efimon-launcher -s 3 --pid 60603Ele monitora um processo já em execução.
Tem opções para:
O lançador requer uma instância em execução do daemon Efimon
Efimon foi testado nas seguintes plataformas:
Este projeto é fornecido a você sob a licença LGPL v2.1. É permitido uma ligação dinâmica de aplicações comerciais ao EFIMON. Trabalho e modificações derivados devem ser divulgados sob a mesma licença que o EFIMON (LGPL v2.1).