Автоматическая смена частоты процессора не работает

Автор alex39, 19 декабря 2011, 21:22:42

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

alex39

Доброго времени суток!
Имею такую проблему:
Ноутбук HP Pavilion G6 1053er, на котором крутится Debian Squeeze
Раньше нагрузка на машину была минимальна и глюков не ощущал. Сейчас же озаботился автоматической сменой частоты процессора при повышении нагрузки. Установлен cpufreqd, cpufrequtils и апплет-монитор изменения частоты процессора на панели Gnome. А проблема в том, что апплет нормально определяет возможную частоту (от 933 МГц до 2,53 ГГц), но не способен нормально частоту менять. Поясню - после загрузки системы первые n-минут частота меняется от нагрузки, а позже ступор. При попытке изменить режим (например, на perfomance) апплет просит пароль, а после ничего не меняется. Хотя может изменить режим спустя час или 2 часа. При попытке установить любую доступную частоту - тоже самое, но позже частота может измениться до соседнего значения. Например, ставлю 1,47 Ггц, а позже получаю значение 1,6 Ггц. Если выполнить /etc/init.d/cpufrequtils start, то иногда все приходит в норму, но не надолго.
Ответ искал в Гугле/Яндексе/на этом форуме. В чем проблема понятия не имею, но когда начинает тормозить firefox с 5-ю открытыми вкладками на таком железе - дико напрягает. Кто-нибудь сталкивался с такой проблемой? Возможные пути решения?

Такую же тему создавал на forum.ubuntu.ru и толком никто ничего не смог посоветовать.

Brainey

#1
ЦП - AMD athlon 64x2 5000+, 2.6 Ггц.
Cpufreq governor - ondemand.
Используется без всяких апплетов, никаких тормозов не замечено. Судя по данным из /proc/cpuinfo частота динамически меняется.
Сейчас посмотрел, у меня в системе установлены только cpufrequtils и libcpufreq0. Может быть, в вашем случае проблема с правилами cpufreqd? Вы их редактировали?

Сообщение объединено: 19 декабря 2011, 22:19:17

Для того, чтобы исключить проблему с конфигами, предлагаю попробовать следующий вариант:
1. Оставновить cpufreqd.
# /etc/init.d/cpufreqd stop
2. Установить ondenand в качестве cpurfeq governor'a.
# echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor && echo ondemand > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
3. Проверить отзывчивость/частоту ЦП в условиях нагрузки с помощью команды $ lscpu
4. Если проблемы останутся, попробовать установить новое ядро версии 2.6.39 из репозитория backports (в нем применен патч для улучшения отзывчивости в условиях загрузки, пример оформления sources.list смотрим здесь).
Конференция форума в jabber: debianforum@conference.jabber.ru | Клуб кедоводов: kde@conference.jabber.ru

alex39

#2
Правила cpufreqd не трогал, пробовал ставить powernowd и cpudyn - эффект тот же.
Команда
# echo [b]performance[/b] > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
должна переводить ядро в режим максимальной производительности, т.е. на частоту 2.53Ггц, НО частота оказывается либо ниже, либо вообще остается на уровне минимального значения (933 Мгц). Вот что дает вывод cpufreq-info на каждое ядро:
Спойлер
CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 10.0 us.
  hardware limits: 933 MHz - 2.53 GHz
  available frequency steps: 2.53 GHz, 2.40 GHz, 2.27 GHz, 2.13 GHz, 2.00 GHz, 1.87 GHz, 1.73 GHz, 1.60 GHz, 1.47 GHz, 1.33 GHz, 1.20 GHz, 1.07 GHz, 933 MHz
  available cpufreq governors: userspace, conservative, powersave, ondemand, performance
  current policy: frequency should be within 933 MHz and 933 MHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 933 MHz.
Т.е. железо поддерживает частоту от 933 мгц до 2.53 ггц, но в рамках данного правила частота не может отличаться от 933мгц. Хотя сразу после перезагрузки машины правило ondemand порой некоторое время прекрасно справляется со сменой частоты в диапазоне от 933 мгц до 2.53 ггц.
смена политики на performance никакого результата не дает
Спойлер
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: 933 MHz - 2.53 GHz
  available frequency steps: 2.53 GHz, 2.40 GHz, 2.27 GHz, 2.13 GHz, 2.00 GHz, 1.87 GHz, 1.73 GHz, 1.60 GHz, 1.47 GHz, 1.33 GHz, 1.20 GHz, 1.07 GHz, 933 MHz
  available cpufreq governors: userspace, conservative, powersave, ondemand, performance
  current policy: frequency should be within 933 MHz and 933 MHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency is 933 MHz.
Пробовал ставить ядро 3.1.1 (если не ошибаюсь) из реп wheezy. Результат тот же. Полностью удалял cpufreqd, powernowd, cpudyn - эффекта ноль.
При ручном запуске cpufreqd ошибок нет, но при при завершении работы системы проскакивает сообщение об ошибке запуска cpufreqd. dmesg по этому поводу молчит.