
PowerJoular เป็นซอฟต์แวร์บรรทัดคำสั่งในการตรวจสอบแบบเรียลไทม์การใช้พลังงานของซอฟต์แวร์และส่วนประกอบฮาร์ดแวร์
เอกสารโดยละเอียด (รวมถึงคู่มือผู้ใช้และคู่มืออ้างอิง) มีอยู่ที่: https://joular.github.io/powerjoular/
Powerjoular ตรวจสอบแพลตฟอร์มต่อไปนี้:
ในทุกแพลตฟอร์ม PowerJoular ทำงานในปัจจุบันเฉพาะใน GNU/Linux
บนพีซี/เซิร์ฟเวอร์ PowerJoular ใช้ PowerCap Linux Interface เพื่ออ่าน Intel Rapl (การใช้งานขีด จำกัด พลังงานเฉลี่ย)
PowerJoular รองรับโดเมนแพ็คเกจ Rapl (หลักรวมถึงกราฟิกแบบบูรณาการและ DRAM) และสำหรับโปรเซสเซอร์ล่าสุดเรารองรับแพ็คเกจ PSYS (ซึ่งครอบคลุมการใช้พลังงานของ SOC ทั้งหมด)
บนเครื่องเสมือน PowerJoular ต้องการสองขั้นตอน:
บนบอร์ด Raspberry Pi และ Asus Tinker PowerJoular ใช้แบบจำลองการถดถอยเชิงประจักษ์จากการวิจัยของตนเองเพื่อประเมินการใช้พลังงานของโปรเซสเซอร์ ARM
รายการที่รองรับของรุ่น Raspberry Pi และ Asus Tinker มีอยู่ด้านล่าง เราสนับสนุนการแก้ไขทั้งหมดของผู้เล่นตัวจริงแต่ละรุ่น อย่างไรก็ตามแบบจำลองนี้ถูกสร้างขึ้นและฝึกฝนในการแก้ไขเฉพาะ (แสดงรายการระหว่างวงเล็บ) และความแม่นยำดีที่สุดในการแก้ไขนี้โดยเฉพาะ
ขณะนี้เราสนับสนุนรุ่น Raspberry Pi และ Asus Tinker Board:
PowerJoular เขียนใน ADA และสามารถรวบรวมได้อย่างง่ายดาย
สคริปต์การติดตั้งที่ใช้งานง่ายมีอยู่ในโฟลเดอร์ installer เพียงเปิดโฟลเดอร์ติดตั้งและเรียกใช้ไฟล์ที่เหมาะสมเพื่อสร้างและ/หรือติดตั้งหรือถอนการติดตั้งโปรแกรมและบริการ SystemD
build-install.sh : จะสร้าง (โดยใช้ gprbuild ) และติดตั้งโปรแกรมไบนารีของโปรแกรมเป็น /usr/bin และบริการ SystemD มันต้องมีการติดตั้ง GNAT และ GPRBUILD (ดูการรวบรวม)uninstall.sh : ลบบริการโปรแกรมไบนารีและระบบ หากต้องการใช้ PowerJoular เพียงเรียกใช้คำสั่ง powerjoular บนพีซี/เซิร์ฟเวอร์ PowerJoular ใช้ RAPL ของ Intel ผ่าน Linux PowerCap SYSFs ดังนั้นจึงต้องใช้การเข้าถึงรูท/sudo บนเมล็ด Linux ล่าสุด (5.10 และใหม่กว่า): sudo powerjoular
โดยค่าเริ่มต้นซอฟต์แวร์จะแสดงการใช้พลังงานของ CPU และการใช้ประโยชน์ ความแตกต่าง (เพิ่มหรือลดลง) ของการใช้พลังงานจากตัวชี้วัดล่าสุดจะแสดง
มีตัวเลือกต่อไปนี้:
-h : แสดงข้อความช่วยเหลือ-v : หมายเลขเวอร์ชันแสดง-p pid : specifiy PID เฉพาะเพื่อตรวจสอบ-a appName : specifiy ชื่อแอปพลิเคชันเฉพาะเพื่อตรวจสอบ (จะตรวจสอบ PID ทั้งหมดของแอปพลิเคชัน)-f filename : บันทึกข้อมูลการตรวจสอบไปยังเส้นทางชื่อไฟล์ที่กำหนด-o filename : บันทึกเฉพาะข้อมูลการตรวจสอบล่าสุดไปยังเส้นทางชื่อไฟล์ที่กำหนด (ไฟล์ที่เขียนทับด้วยมาตรการพลังงานล่าสุดเท่านั้น)-t : พิมพ์ข้อมูลพลังงานไปยังเทอร์มินัล-d : พิมพ์ข้อมูลการดีบักไปยังเทอร์มินัล-l : ใช้แบบจำลองการถดถอยเชิงเส้น (แม่นยำน้อยกว่ารุ่นพหุนามเริ่มต้น) สำหรับรุ่นพลังงาน Raspberry Pi-m : ระบุชื่อไฟล์สำหรับการใช้พลังงานของเครื่องเสมือน-s : ระบุรูปแบบของพลังงาน VM ไม่ว่าจะเป็นรูปแบบ powerjoular (สร้างขึ้นด้วยตัวเลือก -o : 3 คอลัมน์ไฟล์ CSV ที่มี 3rd ที่มีการใช้พลังงาน VM) หรือรูปแบบ watts (1 คอลัมน์ที่มีเพียงการใช้พลังงานของ VM) คุณสามารถผสมตัวเลือกเช่น powerjoular -tp 144 จะตรวจสอบ PID 144 และจะพิมพ์ไปยังเทอร์มินัล
Powerjoular เขียนด้วย ADA และต้องใช้คอมไพเลอร์ ADA ที่ทันสมัยเช่น GNAT
PowerJoular ขึ้นอยู่กับคำสั่งและไลบรารีต่อไปนี้สำหรับฟังก์ชั่นบางอย่าง แต่สามารถทำงานได้โดยไม่ต้อง:
ในการกระจาย GNU/Linux ที่ทันสมัยเพียงติดตั้งคอมไพเลอร์ GNAT (และ GPRBUILD) โดยปกติจะมีให้บริการจากที่เก็บของการกระจาย:
Fedora:
sudo dnf install fedora-gnat-project-common gprbuild gcc-gnat
Debian, Ubuntu or Raspberry Pi OS:
sudo apt install gnat gprbuild
สำหรับการแจกแจงอื่น ๆ ใช้ตัวจัดการแพ็คเกจเพื่อดาวน์โหลดคอมไพเลอร์หรือตรวจสอบบทความนี้เพื่อให้ง่ายสำหรับการแจกแจงแบบต่างๆรวมถึง RHEL และโคลนซึ่งไม่ได้จัดส่งด้วยการสนับสนุน ADA ใน GCC
ในการรวบรวมโครงการเพียงพิมพ์ gprbuild หากใช้ GPRBUILD รุ่นล่าสุด
หรือในรุ่นเก่าให้สร้างโฟลเดอร์ /obj ก่อนจากนั้นพิมพ์ gprbuild powerjoular.gpr
PowerJoular Binary จะถูกสร้างขึ้นใน obj/ Folder
โดยค่าเริ่มต้นโครงการจะเชื่อมโยงไลบรารีที่ต้องการอย่างคงที่ดังนั้น PowerJoular Binary สามารถคัดลอกไปยังระบบที่เข้ากันได้และใช้ตามที่เป็นอยู่
ในการสร้างด้วยการเชื่อมโยงแบบไดนามิกลบหรือแสดงความคิดเห็นสวิตช์คงที่ในไฟล์ powerjoular.gpr โดยเฉพาะอย่างยิ่งบรรทัดเหล่านี้:
package Binder is
for Switches ("Ada") use ("-static");
end Binder;
นอกจากนี้คุณยังสามารถรวบรวม PowerJoular ด้วยคอมไพเลอร์ GNAT เท่านั้น (ไม่จำเป็นต้องใช้ GPRBUILD)
เพียงแค่รวบรวมโดยใช้ gnatmake ตัวอย่างเช่นในการรวบรวมจาก obj/ Folder (SO .O และไฟล์. ALI ถูกสร้างขึ้นที่นั่น) พิมพ์ต่อไปนี้:
mkdir -p obj
cd obj
gnatmake ../src/powerjoular.adb
หากคุณติดตั้ง Alire คุณสามารถใช้เพื่อสร้าง PowerJoular ด้วย:
alr build
สคริปต์ release-version.sh ข้าม powerjoular ไปยังหลายแพลตฟอร์ม (สำหรับตอนนี้ x86_64 และ Aarch64 แต่สามารถปรับแต่งเพื่อเพิ่มแพลตฟอร์มอื่น ๆ ) จากนั้นสคริปต์จะสร้าง RPM และแพ็คเกจการติดตั้งไบนารี Deb สำหรับแพลตฟอร์มเหล่านี้
สคริปต์ต้องการ X86_64 และคอมไพเลอร์ GNAT AARCH64 พร้อมด้วยเครื่องมือบรรจุภัณฑ์ DEB และ RPM
ติดตั้งตามการกระจายของคุณ ตัวอย่างเช่นใน Ubuntu 22.04 x86_64:
sudo apt install gnat gnat-12-aarch64-linux-gnu dpkg rpm
มีการให้บริการ SystemD และสามารถติดตั้งได้ (โดยการคัดลอก powerjoular.service ในโฟลเดอร์ systemd ถึง /etc/systemd/system/ ) บริการจะเรียกใช้โปรแกรมด้วยตัวเลือก -o (ซึ่งบันทึกข้อมูลพลังงานล่าสุดเท่านั้น) และบันทึกข้อมูลไปยัง /tmp/powerjoular-service.csv บริการสามารถเปิดใช้งานเพื่อทำงานโดยอัตโนมัติเมื่อบูต
บริการ SystemD จะถูกติดตั้งโดยอัตโนมัติเมื่อติดตั้ง PowerJoular โดยใช้แพ็คเกจ GNU/Linux ที่ให้ไว้
หากต้องการอ้างอิงงานของเราในรายงานการวิจัยโปรดอ้างถึงบทความของเราในการประชุมนานาชาติครั้งที่ 18 เกี่ยวกับสภาพแวดล้อมอัจฉริยะ (IE2022)
@inproceedings{noureddine-ie-2022,
title = {PowerJoular and JoularJX: Multi-Platform Software Power Monitoring Tools},
author = {Noureddine, Adel},
booktitle = {18th International Conference on Intelligent Environments (IE2022)},
address = {Biarritz, France},
year = {2022},
month = {Jun},
keywords = {Power Monitoring; Measurement; Power Consumption; Energy Analysis}
}
PowerJoular ได้รับใบอนุญาตภายใต้ใบอนุญาต GNU GPL 3 เท่านั้น (GPL-3.0-only)
ลิขสิทธิ์ (c) 2020-2024, Adel Noureddine, Université de Pau และ Des Pays L'Adour สงวนลิขสิทธิ์ โปรแกรมนี้และวัสดุประกอบมีให้ภายใต้เงื่อนไขของใบอนุญาตสาธารณะ GNU ทั่วไป v3.0 เท่านั้น (GPL-3.0-only) ซึ่งมาพร้อมกับการกระจายนี้และมีอยู่ที่: https://www.gnu.org/licenses/gpl-3.0.en.html.html.html.html.html
ผู้แต่ง: Adel Noureddine