ไลบรารีและการตรวจสอบการใช้พลังงาน Linux ที่ใช้งานง่ายและ Daemon ตรวจสอบ 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บน 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" เป็นจริงถ้าคุณต้องการรวบรวมเอกสาร
การรวบรวม Efimon เป็นไปตามกระบวนการเดียวกันกับโครงการ Meson ใด ๆ กรุณาทำตามขั้นตอนเพื่อให้ Efimon บนระบบของคุณ:
meson builddir $OPTIONS
ninja -C builddinr
sudo ninja -C builddir Efimon จะถูกติดตั้งภายใต้ /usr/local/ คำนำหน้า
สำหรับ $OPTIONS คุณสามารถเลือกสิ่งต่อไปนี้:
| ตัวเลือก | ค่าเริ่มต้น | ค่า | คำอธิบาย |
|---|---|---|---|
| การสร้าง Docs | เท็จ | [จริง, เท็จ] | เปิดใช้งานการรวบรวมเอกสาร |
| สร้าง Docs-only | เท็จ | [จริง, เท็จ] | เปิดใช้งานการรวบรวมเอกสารเท่านั้น |
| การสร้างตัวอย่าง | จริง | [จริง, เท็จ] | เปิดใช้งานการรวบรวมตัวอย่าง |
| โหมดนักพัฒนา | จริง | [จริง, เท็จ] | เปิดใช้งานโหมดนักพัฒนา |
| เปิดใช้งาน PCM | จริง | [จริง, เท็จ] | เปิดใช้งาน Intel PCM |
| เปิดใช้งาน | จริง | [จริง, เท็จ] | เปิดใช้งานเครื่องมือ Linux Perf |
| เปิดใช้งาน | จริง | [จริง, เท็จ] | เปิดใช้งานอินเตอร์เฟส Rapl |
| เปิดใช้งาน SQL | จริง | [จริง, เท็จ] | เปิดใช้งาน SQL Logger |
| เปิดใช้งาน | จริง | [จริง, เท็จ] | เปิดใช้งานเครื่องบันทึก 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 1Efimon daemon เป็นเซิร์ฟเวอร์ที่ดำเนินการสังเกต PID ได้รับข้อมูลเกี่ยวกับกระบวนการในการวิเคราะห์ผ่าน IPC (TCP) มันต้องการรูท
ตัวอย่างการใช้งาน:
efimon-daemonมีตัวเลือกที่จะ:
Launcher Efimon ปิดแอปพลิเคชันเปิดการดำเนินการหรือสกัดกั้น PID มันเชื่อมต่อกับ efimon daemon ผ่าน IPC และแยกการวิเคราะห์
ไม่ต้องการรูท
APP= " ../NanoBenchmark/cpu 11 "
efimon-launcher -s 10 -c ${APP}มันเรียกใช้คำสั่ง
efimon-launcher -s 3 --pid 60603มันตรวจสอบกระบวนการทำงานแล้ว
มีตัวเลือกที่จะ:
ตัวเรียกใช้งานต้องใช้อินสแตนซ์ของ efimon daemon
Efimon ได้รับการทดสอบในแพลตฟอร์มต่อไปนี้:
โครงการนี้มอบให้คุณภายใต้ใบอนุญาต LGPL v2.1 การเชื่อมโยงแบบไดนามิกจากแอปพลิเคชันเชิงพาณิชย์ไปยัง Efimon ได้รับอนุญาต งานและการดัดแปลงที่ได้รับจะต้องได้รับการปล่อยตัวภายใต้ใบอนุญาตเดียวกับ EFIMON (LGPL v2.1)