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