Простая в использовании библиотека мониторинга мощности и ресурсов и демон. Мониторирует ЦП, графический процессор, оперативную память, ввод/вывод, сеть и общую систему.
Эта библиотека использует 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На 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-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 вы можете выбрать следующее:
| Вариант | Значение по умолчанию | Ценности | Описание |
|---|---|---|---|
| сборка | ЛОЖЬ | [Правда, ложь] | Включить сборник документов |
| только сборка | ЛОЖЬ | [Правда, ложь] | Включить компиляцию только документов |
| Строительские примеры | истинный | [Правда, ложь] | Включить примеры сборника |
| Режим разработчика | истинный | [Правда, ложь] | Включить режим разработчика |
| Включить PCM | истинный | [Правда, ложь] | Включить Intel PCM |
| Включить перф | истинный | [Правда, ложь] | Включить инструмент Linux perf |
| Включить рап | истинный | [Правда, ложь] | Включить интерфейс RAPL |
| Включить-кв | истинный | [Правда, ложь] | Включить регистратор SQL |
| включить-ipmi | истинный | [Правда, ложь] | Включить регистратор IPMI |
TBD
Анализатор мощности Efimon завершает процесс и выполняет анализ. Это автономно и требует корня.
В настоящее время мы были сосредоточены на анализаторе измерения энергопотребления на основе гистограмм.
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 1Демон Efimon - это сервер, который выполняет наблюдения за PID. Он получает информацию о процессах для анализа через IPC (TCP). Это требует корня.
Пример использования:
efimon-daemonУ него есть варианты:
Запуск Efimon завершает приложение, запуская свое исполнение или перехватывает PID. Он подключается к демон Эфимона через МПК и извлекает анализ.
Это не требует корня.
APP= " ../NanoBenchmark/cpu 11 "
efimon-launcher -s 10 -c ${APP}Он запускает команду.
efimon-launcher -s 3 --pid 60603Это отслеживает уже запущенный процесс.
У него есть варианты:
Пусковая установка требует управляемого экземпляра Daemon Efimon
Efimon был протестирован на следующих платформах:
Этот проект предоставлен вам по лицензии LGPL V2.1. Разрешена динамическая связь от коммерческих приложений к EFIMON. Полученная работа и модификации должны быть выпущены по той же лицензии, что и Efimon (LGPL v2.1).