การเพิ่มประสิทธิภาพการใช้พลังงานสำหรับระบบ Linux/UNIX ไม่ใช่งานที่ง่าย เรามีเนื้อหาน้อยมากเกี่ยวกับธีมนี้และมีคนไม่กี่คนที่จะพูดคุยเรื่องนั้น บทช่วยสอนนี้มีไว้สำหรับผู้ใช้แล็ปท็อปที่ใช้ Nvidia/Ubuntu
PowerTop - PowerTop เป็นเครื่องมือตรวจสอบที่ออกแบบโดย Intel เพื่อแสดงรายการอุปกรณ์ทั้งหมดที่มีโหมดการทำงานของพลังงานและปรับแต่ง เราสามารถติดตั้ง PowerTop ด้วยบรรทัดคำสั่ง bolow:
sudo apt install powertop
ขั้นตอนแรกที่ใช้ PowerTop คือการสอบเทียบการอ่านค่าแบตเตอรี่ด้วยคำสั่ง:
sudo powertop -c
จะใช้เวลาประมาณ 10 นาทีในการเรียกใช้ Callibration ระบบจะเปิดและปิดการแสดงผลบางครั้งและไม่สามารถทำสิ่งอื่นได้ในระหว่างกระบวนการ PowerTop สามารถใช้งานได้ด้วยตัวเองเพื่อดูว่าใช้ทรัพยากรในระบบของคุณอย่างไร จะต้องเปิดทิ้งไว้เป็นระยะเวลาเล็กน้อยในการรวบรวมสถิติและแม่นยำ
powertop
นอกจากนี้เรายังสามารถสร้างรายงานด้วย Powertop
sudo powertop --html=report.html
มีประโยชน์ดูว่ากระบวนการหรือแอปพลิเคชันกำลังใช้พลังงานมากขึ้น คุณสามารถถอนการติดตั้งหรือเปลี่ยนการตั้งค่าบางอย่างเพื่อลดการใช้พลังงาน

นอกจากนี้เรายังสามารถปรับแต่งอุปกรณ์เพื่อประหยัดโหมดพลังงาน ในรายงานมี การปรับแต่ง แท็บ คุณจะพบคำแนะนำมากมายเพื่อเพิ่มอายุการใช้งานแบตเตอรี่

ในภาพด้านล่างในส่วนของ Tunables เราสามารถเห็นอุปกรณ์ทั้งหมดที่มีโหมดพลังงานพร้อมใช้งานสำหรับการปรับแต่ง ฉลาก ที่ไม่ดี แสดงให้เราเห็นว่าอุปกรณ์ใดทำงานในโหมดประสิทธิภาพ เราจำเป็นต้องตั้งค่าส่วนใหญ่เป็นฉลาก ที่ดี เพื่อรับโหมดประหยัดพลังงาน

อุปกรณ์บางอย่างเช่นคอนโทรลเลอร์ USB สำหรับ Mouses ไม่จำเป็นต้องใส่ในโหมดประหยัดพลังงานหรือเราสามารถสัมผัสกับพฤติกรรมบางอย่างเช่นเมาส์ที่หยุดทำงานสักพัก เราสามารถเปิดใช้งานหรือปิดใช้งานโหมดประหยัดพลังงานเพียงแค่กดปุ่ม Space
เราสามารถเปิดใช้งานการปรับจูนที่แนะนำทั้งหมดที่เรียกใช้บรรทัดคำสั่ง:
sudo powertop --auto-tune

$ grep . /sys/devices/system/cpu/cpu0/cpufreq/*
/sys/devices/system/cpu/cpu0/cpufreq/affected_cpus:0
/sys/devices/system/cpu/cpu0/cpufreq/base_frequency:2200000
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq:2200000
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq:800000
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_transition_latency:0
/sys/devices/system/cpu/cpu0/cpufreq/energy_performance_available_preferences:default performance balance_performance balance_power power
/sys/devices/system/cpu/cpu0/cpufreq/energy_performance_preference:balance_performance
/sys/devices/system/cpu/cpu0/cpufreq/related_cpus:0
/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors:performance powersave
/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq:800083
/sys/devices/system/cpu/cpu0/cpufreq/scaling_driver:intel_pstate
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor:powersave
/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq:800000
/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq:800000
/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed:<unsupported>
echo powersave | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
grep . /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor:powersave
/sys/devices/system/cpu/cpu10/cpufreq/scaling_governor:powersave
/sys/devices/system/cpu/cpu11/cpufreq/scaling_governor:powersave
/sys/devices/system/cpu/cpu1/cpufreq/scaling_governor:powersave
/sys/devices/system/cpu/cpu2/cpufreq/scaling_governor:powersave
/sys/devices/system/cpu/cpu3/cpufreq/scaling_governor:powersave
/sys/devices/system/cpu/cpu4/cpufreq/scaling_governor:powersave
/sys/devices/system/cpu/cpu5/cpufreq/scaling_governor:powersave
/sys/devices/system/cpu/cpu6/cpufreq/scaling_governor:powersave
/sys/devices/system/cpu/cpu7/cpufreq/scaling_governor:powersave
/sys/devices/system/cpu/cpu8/cpufreq/scaling_governor:powersave
/sys/devices/system/cpu/cpu9/cpufreq/scaling_governor:powersave
echo 800000 | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_max_freq
800000
/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq:800000
/sys/devices/system/cpu/cpu10/cpufreq/scaling_max_freq:800000
/sys/devices/system/cpu/cpu11/cpufreq/scaling_max_freq:800000
/sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq:800000
/sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq:800000
/sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq:800000
/sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq:800000
/sys/devices/system/cpu/cpu5/cpufreq/scaling_max_freq:800000
/sys/devices/system/cpu/cpu6/cpufreq/scaling_max_freq:800000
/sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq:800000
/sys/devices/system/cpu/cpu8/cpufreq/scaling_max_freq:800000
/sys/devices/system/cpu/cpu9/cpufreq/scaling_max_freq:800000
grep . /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq
/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq:800778
/sys/devices/system/cpu/cpu10/cpufreq/scaling_cur_freq:800047
/sys/devices/system/cpu/cpu11/cpufreq/scaling_cur_freq:800099
/sys/devices/system/cpu/cpu1/cpufreq/scaling_cur_freq:800109
/sys/devices/system/cpu/cpu2/cpufreq/scaling_cur_freq:800064
/sys/devices/system/cpu/cpu3/cpufreq/scaling_cur_freq:801266
/sys/devices/system/cpu/cpu4/cpufreq/scaling_cur_freq:800118
/sys/devices/system/cpu/cpu5/cpufreq/scaling_cur_freq:800160
/sys/devices/system/cpu/cpu6/cpufreq/scaling_cur_freq:799999
/sys/devices/system/cpu/cpu7/cpufreq/scaling_cur_freq:800112
/sys/devices/system/cpu/cpu8/cpufreq/scaling_cur_freq:800117
/sys/devices/system/cpu/cpu9/cpufreq/scaling_cur_freq:800004
sudo apt install lm-sensors
$ sensors
coretemp-isa-0000
Adapter: ISA adapter
Package id 0: +47.0°C (high = +100.0°C, crit = +100.0°C)
Core 0: +45.0°C (high = +100.0°C, crit = +100.0°C)
Core 1: +46.0°C (high = +100.0°C, crit = +100.0°C)
Core 2: +47.0°C (high = +100.0°C, crit = +100.0°C)
Core 3: +44.0°C (high = +100.0°C, crit = +100.0°C)
Core 4: +45.0°C (high = +100.0°C, crit = +100.0°C)
Core 5: +44.0°C (high = +100.0°C, crit = +100.0°C)
BAT0-acpi-0
Adapter: ACPI interface
in0: 17.28 V
curr1: 1000.00 uA
pch_cannonlake-virtual-0
Adapter: Virtual device
temp1: +44.0°C
acpitz-acpi-0
Adapter: ACPI interface
temp1: +25.0°C (crit = +107.0°C)
แพ็คเกจ ID 0 คือค่าเฉลี่ยของ CPU CPU
PSENSORS เป็นเครื่องมือที่ใช้งานได้โดยใช้เซ็นเซอร์ มันเป็น GUI ที่มีแผนภูมิ:

อุณหภูมิ GPU/CPU สูงกว่า 85C นำไปสู่ความเสียหายของฮาร์ดแวร์ และเป็นเวลาหลายปีที่ฉันค้นหาวิธีลดงาน GPU แต่ไม่ประสบความสำเร็จเพราะขาดเอกสาร ดวงตาของเราไม่สังเกตเห็นการเปลี่ยนเฟรมด้วยความเร็วสูงกว่า 24fps จนถึง 60fps เราสามารถรับรู้ถึงการเปลี่ยนแปลงคุณภาพอย่างราบรื่นในVídeo สูงกว่า 60fps ไม่มีการรับรู้คุณภาพโดยรวม สำหรับผู้ใช้ NVIDIA เราสามารถกำหนดค่าการ์ดเพื่อใช้ในโหมดความต้องการและตั้งค่า XORG เพื่อซิงค์กับ Monitor (60Hz)



สำหรับ Ubuntu Base Distros เราสามารถใช้ Mangohud PPA สำหรับการติดตั้ง
sudo add-apt-repository ppa:flexiondotorg/mangohud
sudo apt update
sudo apt install mangohud
เราสามารถปิด FPS โดยใช้บรรทัดคำสั่ง
MANGOHUD_CONFIG=fps,fps_limit=30 mangohud --dlsym glxgears

เราอาจใช้มันกับไอน้ำ สำหรับสิ่งนี้เพียงแค่ใส่การกำหนดค่าบนตัวเรียกใช้เกม Steam
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia mangohud --dlsym %command%
ฉันเป็นผู้ใช้ระบบ Linux/UNIX ที่ยาวและพยายามที่จะพบการกำหนดค่าเพื่อเพิ่มประสิทธิภาพระบบสำหรับการใช้งานที่มั่นใจได้คล้ายกับสิ่งที่เรามีใน Windows เอกสารสำหรับการใช้พลังงานและอุปกรณ์ที่เป็นกรรมสิทธิ์นั้นหายาก ชิ้นสุดท้ายที่จะพบและสามารถเขียนบทช่วยสอนนี้คือมะม่วง ด้วยการกำหนดค่าทั้งหมดนี้เราสามารถมีประสบการณ์ใกล้เคียงหรือเกือบเท่ากันเท่าที่เราสามารถทำได้ในระบบ MS Windows ด้วยโหลด CPU ต่ำและอุณหภูมิ GPU/CPU ที่ยอมรับได้