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

Автор 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 по этому поводу молчит.