การปรับความถี่ CPU ของ Ubuntu 13.04 ปรับ 'ติด' ที่ความถี่ต่ำสุด


10

ฉันเพิ่งติดตั้ง Ubuntu 13.04 บน MacBook Air ของฉันหลังจากเล่นไปสักพักเครื่องก็ช้ามากดังนั้นฉันจึงตรวจสอบความถี่ซีพียู cpufreq-info จะรายงาน 800MHz บนทั้ง 4 คอร์ (ซึ่งเป็นการตั้งค่าที่ต่ำที่สุด) ผู้ว่าราชการถูกกำหนดให้ ondemand ตอนนี้เมื่อฉันโหลดบางอย่างในระบบ (เรียกใช้สคริปต์ขนาดเล็กที่แฮ็คข้อมูลสี่ครั้ง) เครื่องจะทำการพัก แต่ cpufreq-info ยังคงรายงาน 800MHz ฉันสามารถตั้งค่าความถี่เป็น 2GHz ด้วยตนเองซึ่งแก้ไขปัญหาด้านประสิทธิภาพ แต่จะทำให้ฉันต้องใช้แบตเตอรี่

นี่คือผลลัพธ์ของ cpufreq-info:

cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0 1 2 3
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 10.0 us.
  hardware limits: 800 MHz - 2.00 GHz
  available frequency steps: 2.00 GHz, 2.00 GHz, 1.90 GHz, 1.80 GHz, 1.70 GHz, 1.60 GHz, 1.50 GHz, 1.40 GHz, 1.30 GHz, 1.20 GHz, 1.10 GHz, 1000 MHz, 900 MHz, 800 MHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance
  current policy: frequency should be within 800 MHz and 2.00 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 800 MHz (asserted by call to hardware).
  cpufreq stats: 2.00 GHz:5,75%, 2.00 GHz:0,47%, 1.90 GHz:0,00%, 1.80 GHz:0,01%, 1.70 GHz:0,01%, 1.60 GHz:0,01%, 1.50 GHz:0,01%, 1.40 GHz:0,01%, 1.30 GHz:0,01%, 1.20 GHz:0,02%, 1.10 GHz:0,01%, 1000 MHz:0,02%, 900 MHz:0,02%, 800 MHz:93,67%  (1388)
analyzing CPU 1:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0 1 2 3
  CPUs which need to have their frequency coordinated by software: 1
  maximum transition latency: 10.0 us.
  hardware limits: 800 MHz - 2.00 GHz
  available frequency steps: 2.00 GHz, 2.00 GHz, 1.90 GHz, 1.80 GHz, 1.70 GHz, 1.60 GHz, 1.50 GHz, 1.40 GHz, 1.30 GHz, 1.20 GHz, 1.10 GHz, 1000 MHz, 900 MHz, 800 MHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance
  current policy: frequency should be within 800 MHz and 2.00 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 800 MHz (asserted by call to hardware).
  cpufreq stats: 2.00 GHz:3,17%, 2.00 GHz:0,01%, 1.90 GHz:0,01%, 1.80 GHz:0,00%, 1.70 GHz:0,00%, 1.60 GHz:0,01%, 1.50 GHz:0,01%, 1.40 GHz:0,01%, 1.30 GHz:0,01%, 1.20 GHz:0,01%, 1.10 GHz:0,01%, 1000 MHz:0,02%, 900 MHz:0,02%, 800 MHz:96,71%  (1433)
analyzing CPU 2:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0 1 2 3
  CPUs which need to have their frequency coordinated by software: 2
  maximum transition latency: 10.0 us.
  hardware limits: 800 MHz - 2.00 GHz
  available frequency steps: 2.00 GHz, 2.00 GHz, 1.90 GHz, 1.80 GHz, 1.70 GHz, 1.60 GHz, 1.50 GHz, 1.40 GHz, 1.30 GHz, 1.20 GHz, 1.10 GHz, 1000 MHz, 900 MHz, 800 MHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance
  current policy: frequency should be within 800 MHz and 2.00 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 800 MHz (asserted by call to hardware).
  cpufreq stats: 2.00 GHz:2,69%, 2.00 GHz:0,00%, 1.90 GHz:0,01%, 1.80 GHz:0,01%, 1.70 GHz:0,01%, 1.60 GHz:0,02%, 1.50 GHz:0,01%, 1.40 GHz:0,01%, 1.30 GHz:0,02%, 1.20 GHz:0,02%, 1.10 GHz:0,01%, 1000 MHz:0,02%, 900 MHz:0,02%, 800 MHz:97,16%  (1194)
analyzing CPU 3:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0 1 2 3
  CPUs which need to have their frequency coordinated by software: 3
  maximum transition latency: 10.0 us.
  hardware limits: 800 MHz - 2.00 GHz
  available frequency steps: 2.00 GHz, 2.00 GHz, 1.90 GHz, 1.80 GHz, 1.70 GHz, 1.60 GHz, 1.50 GHz, 1.40 GHz, 1.30 GHz, 1.20 GHz, 1.10 GHz, 1000 MHz, 900 MHz, 800 MHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance
  current policy: frequency should be within 800 MHz and 2.00 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 800 MHz (asserted by call to hardware).
  cpufreq stats: 2.00 GHz:3,07%, 2.00 GHz:0,02%, 1.90 GHz:0,01%, 1.80 GHz:0,00%, 1.70 GHz:0,01%, 1.60 GHz:0,01%, 1.50 GHz:0,01%, 1.40 GHz:0,01%, 1.30 GHz:0,01%, 1.20 GHz:0,01%, 1.10 GHz:0,03%, 1000 MHz:0,03%, 900 MHz:0,01%, 800 MHz:96,77%  (1004)

คำตอบ:


4

ฉันมีปัญหาเดียวกันกับ Mint เวอร์ชันล่าสุดการตั้งค่าสเกลเป็นอนุรักษ์นิยมดูเหมือนจะใกล้เคียงที่สุดกับวิธีการที่ ondemand เคยทำงาน

จากนั้นฉันก็พบว่าปัญหาคืออะไร up_threshold สูงเกินไปมันถูกตั้งค่าไว้ที่ 95% ของโหลดตอนนี้มันดีสำหรับการโหลดอย่างต่อเนื่อง แต่ในกรณีส่วนใหญ่จะมีการทำงานของ CPU เล็กน้อยและคุณต้องการซีพียู ปรับความเร็วได้เร็วขึ้น 100% ฉันแก้ไขปัญหานี้ได้ด้วยการตั้งค่าที่ต่ำกว่าขีด จำกัด (75 ดูเหมือนว่าจะตกลงในกรณีของฉัน) คุณสามารถเปลี่ยนได้โดย echo'ing /sys/devices/system/cpu/cpufreq/ondemand/up_thresholdค่าที่ต้องการไป


2

ฉันอยากจะแนะนำว่าคุณควรใช้มีแอพพลิเคชั่นประหยัดพลังงานคล้ายกับดาวพฤหัสบดีหรือไม่?

และใช้ indicator-cpufreq เพื่อที่คุณจะได้รู้ว่าคุณอยู่ที่ความถี่ใด ตรวจสอบลิงค์ที่ฉันได้วางวิธีการติดตั้ง / กำหนดค่า indicator-cpufreq

แอพพลิเคชั่นประหยัดพลังงานคล้ายกับดาวพฤหัสบดีหรือไม่? ส่วนที่ 3) ตัวประมวลผลและการปรับสเกลความถี่

ondemand        Dynamically switch between CPU(s) available if at 95% cpu load

รักษา Cpu ให้อยู่ในระดับต่ำเพียงเกินที่ 95% โหลด cpu

performance     Run the cpu at max frequency

conservative    Dynamically switch between CPU(s) available if at 75% load

รักษา Cpu ให้อยู่ในระดับต่ำเพียงเกินที่ 75% โหลด cpu

powersave       Run the cpu at the minimum frequency

0

ฉันมีปัญหานี้เมื่อวันที่ 14.04 - 16.04 (ณ วันนี้) เพื่อแก้ปัญหานั้นฉันต้องบังคับให้ Ubuntu เพิกเฉยต่อข้อ จำกัด ด้านประวัติ การทำงานต่อไปนี้สำหรับฉัน:

เปิดด้วง:

sudo vim /etc/default/grub

แทนที่ GRUB_CMDLINE_LINUX_DEFAULT บรรทัด:

- GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
+ GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_pstate=disable processor.ignore_ppc=1"

อัพเดทด้วง:

sudo update-grub

รีบูตแล้ว:

echo 1 | sudo dd of=/sys/module/processor/parameters/ignore_ppc
echo 2900000 | sudo dd of=/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 
echo 2900000 | sudo dd of=/sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq 
echo 2900000 | sudo dd of=/sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq 
echo 2900000 | sudo dd of=/sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq 

ทำงานให้ฉัน ตรวจสอบหมายเลขของ cpu cores และอัพเดตทั้งหมดตามลำดับ คุณอาจต้องการที่จะใส่บรรทัดพิเศษเหล่านั้นใน /etc/rc.local เพื่อให้พวกเขาดำเนินการในการบูตทุกครั้ง

Ninja Edit: แทนที่ 2900000 ด้านบนด้วยค่าใน:

cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq

การปรับขนาดความถี่ใช้งานได้หลังจากนี้อุณหภูมิและประสิทธิภาพเหมือนกันหรือดีกว่าหรือไม่ และคุณอ่าน/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freqแล้วเขียนค่าเดิมกลับไป? ทำไม? การเขียน 1 เพื่อignore_ppcเปลี่ยนค่าหรือไม่ (PS สามารถใช้teeหรือเพียงแค่>แทนdd)
Xen2050
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.