Максимальная частота процессора застряла при низком значении
Я заметил проблему с 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 минут.
Одна вещь, которая меня сильно смутила - когда были очевидные большие проблемы с охлаждением процессора, мой ноутбук не был горячим или даже теплым. Также кулер вращается со стандартной скоростью.