Процессор 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 всегда обеспечит максимальную частоту работы вашего процессора. Но если вы пытаетесь сохранить энергию, то можете оставить ее включенной.