Процессор AMD Phenom II X2 550 не работает на полной скорости во время кодирования Xvid

Я использую Ubuntu 10.10 64bit в системе с процессором AMD Phenom II X2 550, разогнанным до 3,5 ГГц (по умолчанию 3, 1 ГГц).

Когда я выполняю Xvid-кодирование с помощью k9copy/mencoder и проверяю скорость процессора, используя cat /proc/cpuinfo ни одно из ядер никогда не превышает 2400 МГц (иногда меньше из-за AMD Cool'n'Quiet).

Предполагая, что это истинная скорость, как я могу гарантировать, что процессор работает на полной скорости при выполнении задачи с интенсивным использованием процессора, такой как кодирование видео?

Изменить - дополнительная информация ниже:

Уильям @optimus:/usr/bin$ sudo dmesg | grep "powernow"
[    0.985857] powernow-k8: Найден 1 процессор AMD Phenom(tm) II X2 550 (2 ядра процессора) (версия 2.20.00)
[    0.985885] powernow-k8:    0: частота 0 (3500 МГц)
[    0.985886] powernow-k8:    1: частота 1 (2400 МГц)
[    0.985887] powernow-k8:    2: pstate 2 (1900 МГц)
[    0.985888] powernow-k8:    3: pstate 3 (800 МГц)

Уильям @optimus:/usr/bin$ sudo dmidecode | grep "Max Speed"
    Макс. Скорость: 3200 МГц
william@optimus:/sys/devices/system/cpu/cpu0/cpufreq/ondemand$ cpufreq-info
cpufrequtils 007: cpufreq-info (C) Доминик Бродовски 2004-2009
Сообщайте об ошибках и ошибках на cpufreq@vger.kernel.org, пожалуйста.
анализ процессора 0:
  водитель: powernow-k8
  Процессоры, которые работают на той же аппаратной частоте: 0
  Процессоры, частота которых должна координироваться программным обеспечением: 0
  максимальная задержка перехода: 8,0 мкс
  аппаратные ограничения: 800 МГц - 3,50 ГГц
  доступные частотные ступени: 3,50 ГГц, 2,40 ГГц, 1,90 ГГц, 800 МГц
  доступные регуляторы cpufreq: консервативный, ondemand, пользовательское пространство, powersave, производительность
  текущая политика: частота должна быть в пределах 800 МГц и 3, 10 ГГц.
                  Губернатор "по требованию" может решить, какую скорость использовать
                  в этом диапазоне.
  Текущая частота процессора составляет 800 МГц.
  Статистика процессора: 3,50 ГГц: 0,00%, 2,40 ГГц: 5,63%, 1,90 ГГц: 1,63%, 800 МГц:92,74%  (109352)
анализ процессора 1:
  водитель: powernow-k8
  Процессоры, которые работают на той же аппаратной частоте: 1
  Процессоры, частота которых должна координироваться программным обеспечением: 1
  максимальная задержка перехода: 8,0 мкс
  аппаратные ограничения: 800 МГц - 3,50 ГГц
  доступные частотные ступени: 3,50 ГГц, 2,40 ГГц, 1,90 ГГц, 800 МГц
  доступные регуляторы cpufreq: консервативный, ondemand, пользовательское пространство, powersave, производительность
  текущая политика: частота должна быть в пределах 800 МГц и 3, 10 ГГц.
                  Губернатор "по требованию" может решить, какую скорость использовать
                  в этом диапазоне.
  Текущая частота процессора составляет 800 МГц.
  Статистика процессора: 3,50 ГГц: 0,00%, 2,40 ГГц: 8,58%, 1,90 ГГц: 2,47%, 800 МГц: 88,95%  (76452)

2 ответа

Решение

Вероятно, ваш регулятор масштабирования процессора установлен на "ondemand" (вы можете проверить, посмотрев /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor). Точно так же вы можете проверить скорость масштабирования, сравнивая /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq а также /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq,

Средство масштабирования частоты "ondemand" не подходит для некоторых рабочих нагрузок, и я считаю, что кодирование является одним из них. Есть ряд параметров в /sys/devices/system/cpu/cpu0/cpufreq/ondemand это может помочь, особенно up_threshold, Для одной машины я установил это 20 и это, казалось, помогло.

В более экстремальном случае вы можете заменить частотный масштабатор на "производительность", которая заставит максимальную частоту процессора:

for i in /sys/devices/system/cpu/cpu*; do echo performance | sudo tee $i/cpufreq/scaling_governor; done

Отключение Cool'n'Quiet в вашем BIOS всегда обеспечит максимальную частоту работы вашего процессора. Но если вы пытаетесь сохранить энергию, то можете оставить ее включенной.

Другие вопросы по тегам