Linux سهلة الاستخدام مكتبة ومراقبة استهلاك الموارد والخفي. شاشات وحدة المعالجة المركزية ، GPU ، ذاكرة الوصول العشوائي ، I/O ، الشبكة والنظام العام.
تستخدم هذه المكتبة meson كنظام البناء. لتثبيت ميسون ، مطلوب بيثون> = 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-only" إلى True إذا كنت ترغب في تجميع الوثائق.
يتبع تجميع Efimon نفس العملية مثل أي مشروع Meson. من فضلك ، اتبع الخطوات للحصول على efimon على نظامك:
meson builddir $OPTIONS
ninja -C builddinr
sudo ninja -C builddir سيتم تثبيت efimon تحت /usr/local/ بادئة.
لخيارات $OPTIONS ، يمكنك تحديد ما يلي:
| خيار | القيمة الافتراضية | قيم | وصف |
|---|---|---|---|
| البناء | خطأ شنيع | [صحيح ، خطأ] | تمكين تجميع المستندات |
| بناء DOCS فقط | خطأ شنيع | [صحيح ، خطأ] | تمكين مجموعة المستندات فقط |
| عمليات الاستمتاع | حقيقي | [صحيح ، خطأ] | تمكين أمثلة تجميع |
| وضع المطور | حقيقي | [صحيح ، خطأ] | تمكين وضع المطور |
| تمكين PCM | حقيقي | [صحيح ، خطأ] | تمكين Intel PCM |
| تمكين perf | حقيقي | [صحيح ، خطأ] | تمكين أداة Linux Perf |
| تمكين RAPL | حقيقي | [صحيح ، خطأ] | تمكين واجهة RAPL |
| تمكين SQL | حقيقي | [صحيح ، خطأ] | تمكين مسجل SQL |
| Enable-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 1The Efimon Daemon هو خادم يؤدي ملاحظات PID. يتلقى المعلومات حول العمليات لتحليلها عبر IPC (TCP). لا يتطلب الجذر.
مثال على الاستخدام:
efimon-daemonلديها خيارات ل:
يلف قاذفة Efimon تطبيقًا أو تشغيل تنفيذه أو اعتراض PID. إنه يتصل بـ Efimon Daemon عبر IPC ويستخلص التحليل.
لا يتطلب الجذر.
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).