Максимальная частота процессора застряла при низком значении

Я заметил проблему с Ubuntu 13.04. Проблема не была там 11.10, которую я использовал ранее. Максимальная частота процессора застряла на 2 ГГц на моем процессоре Intel® Core ™ (i7-2620M) @ 2,70 ГГц (Dell Lattitude E6320)

# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 
2000000

# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies 
2701000 2700000 2400000 2200000 2000000 1800000 1600000 1400000 1200000 1000000 800000

# echo 2700000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 

# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 
2000000

Я могу установить scaling_max_freq на более низкое значение, и это работает. Я также могу вернуться к 2 ГГц, но не более того:

# echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 
# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 
800000

# echo 2000000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 
# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 
2000000

# echo 2200000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 
# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 
2000000

Ничто из того, что я делаю, похоже не помогает - я установил TLP, удалил его, проверил различные версии ядра, доступные в 13.04. Я подключил и снял блок питания. Я сменил губернаторов, а также использовал пространство пользователей. Независимо от того, нахожусь ли я на переменном токе или батарее, вышеупомянутая проблема сохраняется.

Я видел людей, у которых были подобные проблемы раньше ( здесь или здесь), но это было связано с ошибкой ядра еще в 2008 году и, похоже, не имеет значения.

Кто-нибудь знает, как это исправить?

3 ответа

Решение

Проблема была идентична описанной в этом блоге - BIOS ограничивал частоту моего процессора или, по крайней мере, предполагал, что Linux ограничивает ее:

# cat /sys/devices/system/cpu/cpu0/cpufreq/bios_limit 
2000000

Чтобы переопределить это вам нужно набрать

# echo 1 > /sys/module/processor/parameters/ignore_ppc
# echo -n 2710000 >  /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq
# cat /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq
2710000

Однако в моем случае bios_limit Кажется, горит независимо от того, работаю ли я от батарей или от сети переменного тока. Преодоление этого ограничения работает как шарм.

Вам также может понадобиться обновить grub, чтобы заставить Ubuntu игнорировать ограничение bios. Это может быть достигнуто путем:

Открытие файла grub:

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

перезагружать

Не знаю много об этой стороне вещей, но я думаю, что cpufrequtils позволяет вам сделать это с помощью

sudo apt-get install cpufrequtils
sudo cpufreq-set -r -g performance #-r for related (all) the cores

Это также может быть проблема с оборудованием. Если вашему ноутбуку от 3 лет, тепловой интерфейс на процессоре и графическом процессоре не работает и не работает должным образом.

У меня была похожая проблема с моим ThinkPad T520. После проверки всех рекомендаций, которые я нашел в Интернете, я решил проверить систему охлаждения. После разборки ноутбука не было никаких визуальных признаков того, что что-то не так, но после того, как старый термоинтерфейс был заменен свежим тепловым излучением, - это решило проблему! Выполнение юнит-тестов на моем проекте увеличилось с 45 до 11 минут.

Одна вещь, которая меня сильно смутила - когда были очевидные большие проблемы с охлаждением процессора, мой ноутбук не был горячим или даже теплым. Также кулер вращается со стандартной скоростью.

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