Медленный процессор после возобновления

Иногда после того, как мой ноутбук переходит в режим сна, его процессор блокируется на самой медленной частоте - около 600-700 МГц.

Мой ноутбук Dell E6420 с i5-2520m.
Версия ядра: 4.6.0-040600-generic.
Впервые я столкнулся с этой ошибкой в ​​выпуске 14.04. И теперь у нас 16.04, и он все еще там.

Я работаю на своем ноутбуке, все хорошо, быстро и гладко. Я закрываю крышку, укладываю ноутбук в режим сна, отключаю питание, он спит на своем аккумуляторе. Я возвращаюсь через некоторое время, открываю крышку. И все медленно, как ад;D
Я проверяю частоту процессора, используя

watch -n 1 'cat /proc/cpuinfo | grep MHz'

и я вижу все мои ядра, работающие на частоте ~600 МГц.

Я проверяю масштабирование регуляторов

cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

И я вижу "powersave".

Чтобы исправить это, я должен сделать что-то вроде этого

echo 'performance' > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo 'performance' > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
echo 'performance' > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor
echo 'performance' > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor

После этого все быстро, как и раньше.

Драйвер масштабирования процессора проверен на intel_pstate

cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_driver                                                 

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

Почему процессор работает медленно после сна. Почему это происходит? Как устранить эту ошибку?

1 ответ

Проблема, возникающая у вас с ноутбуком LapTop, - это известная проблема с некоторыми ноутбуками Dell LapTop. Когда вы возобновите работу в режиме ожидания от батареи, биос Dell установит Clock Modulation, который будет использоваться как способ немного снизить производительность для экономии энергии батареи. Проблема заключается в том, что драйвер масштабирования частоты процессора intel_pstate в его текущей форме несовместим с тактовой модуляцией, и вместо небольшого ограничения производительности он сильно понижает частоту процессора до уровня, который ниже его обычного нижнего предела.

Для вас предлагаемое решение - отключить драйвер intel_pstate и использовать вместо него драйвер масштабирования частоты процессора acpi-cpufreq. Драйвер acpi-cpufreq "правильно" реагирует на модуляцию часов.

Если вы используете grub, то отредактируйте /etc/default/grub и изменить GRUB_CMDLINE_LINUX_DEFAULT линия. Пример, где у меня есть что-то еще в этой строке:

GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 intel_pstate=disable"

Обязательно беги sudo update-grub после этого. Рекомендуется также сохранить копию исходного файла перед его редактированием. Редактировать как sudo.

В ubuntu 20.04 эта ошибка все еще существует! Я могу восстановить нормальную работу, отключив внешнее питание и снова подключив его до тех пор, пока cpufreq-info не покажет, что частота процессора отличается от самой низкой.

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