Масштабирование частоты процессора Ubuntu 13.04 «зависло» на самой низкой частоте

10

Я только что установил Ubuntu 13.04 на свой MacBook Air, немного поиграв в то время, когда машина чувствовала себя очень медленно, поэтому я проверил частоту процессора. cpufreq-info сообщает о частоте 800 МГц на всех 4 ядрах (что является самым низким значением). Губернатор настроен по требованию. Теперь, когда я загружаю систему (запускаю небольшой скрипт, который хеширует данные четыре раза), машина останавливается, но cpufreq-info по-прежнему сообщает 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)
user159534
источник

Ответы:

4

У меня была та же проблема с последней версией Mint, установка масштабирования на консервативную, казалось, была ближе всего к тому, как раньше работал ondemand.

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

user165241
источник
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 игнорировать ограничение BIOS. Следующее работало для меня:

Открытая личинка:

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"

Обновление grub:

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
benvand
источник
Масштабирование частоты работало нормально после этого, температура и производительность были одинаковыми или лучше? А ты читаешь /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freqпотом пишешь туда же значение? Почему? Есть ли запись 1 для ignore_ppcизменения значений? (PS мог использовать teeили просто >вместо dd)
Xen2050