Як встановити intel_idle.max_cstate = 1


12

Як я можу встановити інтелект max max cstate на 1 і як я можу перевірити, коли це буде зроблено. У мене проблема з заморожуванням через ядра заливних стежок.

я спробував ядро ​​4.5 4.1.12 4.4, але проблема з заморожуванням все ще триває. на даний момент 4.4 - це моя версія ядра.


На сьогодні (8/2019) цей потік насправді не говорить про те, що встановлення intel_idle.max_cstate = 1 є офіційним рішенням про помилку, опублікованому в 2011 році. Оскільки в моєму випадку це (довелося дублювати) переривчасту проблему, перш ніж я ADD intel_idle.max_cstate = 1 до мого GRUB, я хотів би отримати деяку документацію, яка говорить про це. Оригінальний документ Bugzilla незрозумілий для цього. Чи може хтось учасник цього форуму люб’язно допомогти мені офіційно перевірити це «виправлення»?
Ян Гус

Відповіді:


21

Якщо використовується GRUB:

З sudo, відредагуйте /etc/default/grubта відредагуйте GRUB_CMDLINE_LINUX_DEFAULTрядок, додавши intel_idle.max_cstate=1до того, що вже може бути там. Після збереження запуску файлу sudo update-grub, потім перезавантажте його. Запропонуйте спочатку зберегти копію оригінального файлу grub.

Щоб перевірити, чи не виходить ваш штат глибше 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

Цікаво, яке значення на виході turbostatпоказує, що cstate не йде глибше 1. Що ви маєте на увазі deeper? Що робити інакше, якщо вона заглиблюється?
Стефан

1
@Stephane: Під "глибше" я мав на увазі вищі стани c, ніж 1. якщо ви правильно встановили командний рядок grub, він не повинен переходити до cstate глибше (вище, ніж). ніж 1 показує 0,00% часу в цих станах на лінії виводу турбостата.
Doug Smythies

1
Мій Thinkpad X201i щогодини робив важкі перезавантаження. Я ввімкнув функцію intel_idle.max_cstate=1in grub як GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_idle.max_cstate=1"із оновленням grub sudo update-grubта перезапустив машину. Більше не відбувається жорстких перезавантажень. Я (радий, що вирішив свою проблему. Цікаво, що саме про це говорить власність процесора.
Стефан

FYI Я стежу за цим звітом про помилки близько року, і він може вас зацікавити: bugzilla.kernel.org/show_bug.cgi?id=109051 . Також тут, в АС: askubuntu.com/questions/803640/…
WinEunuuchs2Unix

3

Після тих же проблем із заморожуванням Linux та моїм asrock Q2900 я знайшов на німецькому ІТ-сайті рішення / вирішення, яке надає Intel. ( https://www.golem.de/news/intel-einfrieren-bei-intels-bay-trail-socs-durch-patch-abgefedert-1609-123546.html ) Існує загальна проблема з Bay-Trail-SoCs від Intel. Посилання на виправлення: https://bugzilla.kernel.org/attachment.cgi?id=223851

Додаткова інформація: Цей патч / скрипт отримує режим економії енергії. Наведене вище рішення рішення зовсім не видаляє цей режим.


Ласкаво просимо в Ask Ubuntu! Хоча це теоретично може відповісти на питання, бажано було б сюди включити істотні частини відповіді та надати посилання для довідки.
Старійшина Гік

1

Редагувати / тощо / за замовчуванням / grub:

GRUB_CMDLINE_LINUX_DEFAULT="intel_idle.max_cstate=1"

Біжи

update-grub
shutdown -r now

0

Більше не потрібно оновлювати grub, якщо ви переходите на останнє ядро.

Відповідно до коментаря №1013 у звіті про помилку, це тепер виправлено:

Я давно не перевіряв цю тему, але подумав, що я повинен розмістити свої висновки на той випадок, якщо комусь це буде корисно.

Комп'ютер низького рівня, що працює на базі Intel N2807, який ніколи не працював більше 30 мільйонів, без збоїв, коли я не встановив ... max_cstates = 1 зараз чудово працює з біржовим ядром v. 5.3.1 або 4.19.75. Я запускав його кілька днів із кожною версією без жодних проблем. Середнє споживання електроенергії також знизилося на трохи більше 10%.

Щоб виправити цю помилку, вперше про це повідомили 8 грудня 2015 року.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.