Как установить Intel Idle Max Cstate на 1 и как проверить, когда это будет сделано. У меня проблема с заморозкой из-за ядер тропы.
Я попробовал ядро 4.5 4.1.12 4.4, но проблема замораживания все еще продолжается. на данный момент 4.4 является моей версией ядра.
При использовании GRUB:
С sudo
, редактирование /etc/default/grub
и редактирование GRUB_CMDLINE_LINUX_DEFAULT
добавление строки intel_idle.max_cstate=1
к чему могло бы уже быть там. После сохранения выполненного файла sudo update-grub
, затем перезагрузка. Предложите, чтобы Вы сохранили копию своего исходного файла личинки сначала.
Чтобы проверить, что Ваш cstate не идет глубже, чем 1 турбостат использования (пакет: linux-tools-common).
Пример (где уже существует что-то на GRUB_CMDLINE_LINUX_DEFAULT
):
Прежде чем (отредактировано):
$ sudo turbostat -S --debug sleep 10
Avg_MHz %Busy Bzy_MHz TSC_MHz SMI CPU%c1 CPU%c3 CPU%c6 CPU%c7 CoreTmp PkgTmp Pkg%pc2 Pkg%pc3 Pkg%pc6 PkgWatt CorWatt GFXWatt
1 0.04 1654 3411 0 0.12 0.03 99.82 0.00 29 29 0.07 0.03 99.51 3.85 0.20 0.23
10.001629 sec
Внесите изменение (использующий мой метод для управления конфигурацией):
~/config/etc/default$ cp /etc/default/grub ./
~/config/etc/default$ cp grub grub.original
~/config/etc/default$ nano grub
Измените это:
GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1"
К этому:
GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 intel_idle.max_cstate=1"
И обновление:
~/config/etc/default$ sudo cp grub /etc/default
~/config/etc/default$ sudo update-grub
~/config/etc/default$ sudo reboot -r now
Теперь проверьте (отредактированный):
$ sudo turbostat -S --debug sleep 10
Avg_MHz %Busy Bzy_MHz TSC_MHz SMI CPU%c1 CPU%c3 CPU%c6 CPU%c7 CoreTmp PkgTmp Pkg%pc2 Pkg%pc3 Pkg%pc6 PkgWatt CorWatt GFXWatt
0 0.02 1920 3411 0 99.98 0.00 0.00 0.00 39 39 0.00 0.00 0.00 10.49 6.66 0.23
10.001079 sec
Ваш должен также видеть эти сообщения в dmesg
и var/log/kern.log
(отредактированный):
~$ dmesg | grep intel_idle
[ 1.019709] intel_idle: max_cstate 1 reached
$ grep intel_idle /var/log/kern.log
Mar 23 08:10:32 s15 kernel: [ 1.019709] intel_idle: max_cstate 1 reached
После того, как у меня возникли те же проблемы с зависанием в linux и моем asrock Q2900, я нашел на немецком IT-сайте решение / обходной путь, предоставленный Intel. ( https://www.golem.de/news/intel-einfrieren-bei-intels-bay-trail-socs-durch-patch-abgefedert-1609-123546.html ) Существует общая проблема с Bay-Trail-SoC от Intel. Ссылка на патч: https://bugzilla.kernel.org/attachment.cgi?id=223851
Дополнительная информация: Этот патч / скрипт действительно получает режим энергосбережения. Приведенное выше решение для темы вообще исключает этот режим.
Редактирование/etc/defaults/grub:
GRUB_CMDLINE_LINUX_DEFAULT="intel_idle.max_cstate=1"
Выполнение
update-grub
shutdown -r now
Нет никакой потребности больше обновлять личинку, если Вы переключаетесь на новое ядро.
Согласно comment# 1013 в отчете об ошибках это теперь фиксируется:
Я не проверил этот поток в долгое время, но я думал, что должен отправить свои результаты на всякий случай, он имеет любое применение для любого.
Низкокачественный компьютер привел в действие с Intel N2807, который никогда не работал больше чем 30 млн, не отказывая, когда я не установил... max_cstates=1, теперь работает отлично с ядром запаса v. 5.3.1 или 4.19.75. Я выполнил его в течение нескольких дней с каждой версией без любых проблем. Потребление средней мощности также снизилось на немногим более, чем 10%.
Потребовалось приблизительно четыре года для исправления этой ошибки, сначала сообщенной 8 декабря 2015.