Масштабування частоти процесора Ubuntu 13.04 'застрягло' на найнижчій частоті


10

Щойно я встановив Ubuntu 13.04 на моєму MacBook Air, після того, як розгулював деякий час, машина відчувала себе дуже повільно, тому я перевірила частоту процесора. cpufreq-info, він повідомляє 800 МГц на всіх 4 ядрах (що є найнижчим параметром). Губернатор налаштований на вимогу. Тепер, коли я поклав деяке навантаження на систему (запускаючи невеликий скрипт, який хеширує речі в чотири рази), машина перемелюється на затримку, але cpufreq-інформація все ще повідомляє 800 МГц. Я можу вручну встановити частоту в 2 ГГц, що вирішує проблему з продуктивністю, але коштуватиме мені акумулятора.

Це вихід 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

У мене була та сама проблема з останньою версією Монетного двору, встановлення масштабування на консервативне, здавалося, є найбільш близьким до того, як використовувались вимоги.

Тоді я з'ясував, у чому проблема, нагору верхнього рівня було занадто високим, встановлено 95% навантаження, тепер це добре для тривалого навантаження, але в більшості випадків невеликий сплеск активності процесора, і ви хочете, щоб процесор значно швидше масштабувати до 100%. Я вирішив це, встановивши гору верхнього рівня нижче (75, здається, у моєму випадку все добре). Ви змінюєте його, повторюючи потрібне значення на /sys/devices/system/cpu/cpufreq/ondemand/up_threshold.


2

Я б запропонував вам скористатися Чи існує програма для енергозбереження, схожа на Юпітер?

І використовуйте індикатор-cpufreq, щоб ви могли знати, на якій частоті ви перебуваєте. перевірити посилання, яке я вставив, як встановити / налаштувати індикатор-cpufreq

Чи є програма для енергозбереження, схожа на Юпітер? Розділ 3.) Масштабування процесора та частоти

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

Тримайте процесор на низькому рівні, перевищуйте лише при 95% навантаженні процесора

performance     Run the cpu at max frequency

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

Тримайте процесор на низькому рівні, перевищуйте його лише при 75% завантаженні процесора

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 

Працювали для мене. Перевірте кількість ядер процесора та оновіть все відповідно. Ви можете поставити ці додаткові рядки в /etc/rc.local, щоб вони виконувалися при кожному завантаженні.

Редагування ніндзя: Замініть 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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.