Система повністю замерзає за допомогою Intel Bay Trail


29

Моя система повністю замерзає у випадкових, частих інтервалах. У мене почалася така ж проблема в Ubuntu 14.04, але після недавнього оновлення до 16.04 покращення не спостерігається, насправді це здається гіршим.

Коли це трапляється, нічого неможливо зробити. Я спробував все в цій темі: Що робити, коли Ubuntu замерзає, але нічого не працює, мені доведеться жорстко скинути. Я прочитав усі системні журнали, journalctlале ніколи не існує інформації, яка могла б допомогти діагностувати проблему.

Це система з двома завантаженнями з Windows 10, і там немає жодних проблем, тому це не несправне обладнання.

Мій ноутбук має процесор Intel Bay Trail (Pentium N3540)


Відповіді:


37

На ваш процесор впливає помилка c-state

Це спричиняє повне заморожування, коли ЦП намагається перейти у стан, що не підтримується. Це проблема для багатьох пристроїв Bay Trail, особливо з новішими (4. *) ядрами.

Уражені процесори AFAIK:

Atom Z3735F (Asus X205TA, Acer Aspire Switch 10, Lenovo MIIX 3 1030) 
Atom Z3735G
Celeron J1900 (Asus ET2325IUK, shuttle XS35V4)
Celeron N2940 (Acer Aspire ES1-711, Chromebook)
Celeron N2840 (Acer Aspire ES1-311)
Celeron N2930 (Jetway JBC311U93, Zotac Nano CI320)
Pentium N3520 
Pentium N3530 (Acer V3-111P)
Pentium N3540 (Dell Inspiron 15 3000, Lenovo G50, ASUS X550MJ)

(будь ласка (запропонуйте) редагувати, щоб додати власний пристрій, якщо це вплине)

Повний список процесорів Bay Trail можна знайти тут

Для цього існує просте вирішення, поки воно не буде належним чином зафіксовано вгору за течією.

Вам просто потрібно передати параметр завантаження ядра, і випадкове заморожування повністю припиняється. Параметр може дещо збільшити споживання акумулятора, але він надасть вам зручну систему.

Це ви робите, редагуючи файл конфігурації для GRUB:

Завантажте Ubuntu та відкрийте термінал, натиснувши Ctrl+ Alt+ Tта введіть

sudo nano /etc/default/grub

Знайдіть рядок, який починається GRUB_CMDLINE_LINUX_DEFAULT=

Це потрібно змінити, щоб включити intel_idle.max_cstate=1

Тож після редагування воно читає щось подібне

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_idle.max_cstate=1"

quietі splashє типовими параметрами для Ubuntu Desktop - не потрібно їх змінювати або будь-які інші попередні параметри

Тепер збережіть файл, натиснувши ctrl+, oа потім enterвийдіть, натиснувши ctrl+x

Тепер біжи

sudo update-grub

Потім перезавантажте.


Що робити, якщо у вас недостатньо часу для цього, перш ніж система висить

Без проблем. Як пояснено на довідковій сторінці, до якої я зв’язувався раніше, ви можете додати параметр до GRUB перед завантаженням. Зауважте, що це передає параметр лише для поточного завантаження, тому вам доведеться редагувати, /etc/default/grubяк тільки ви завантажилися, щоб зміни були постійними.

Вам потрібно потрапити в меню GRUB . Якщо у вас є подвійне завантаження, це все одно з’явиться, якщо ні, вам не доведеться натискати і утримувати (або натискати) shiftпісля натискання кнопки живлення для включення.

Коли ви потрапите на цей екран, виберіть Додаткові параметри для Ubuntu . Ви можете перемістити курсор до іншого ядра або залишити його на місці для редагування параметрів за замовчуванням. Замість натискання enter, натисніть eі ви будете перейти в режим редагування, дивлячись невизначено , як це .

Перемістіть курсор вниз, де він пише quiet splash, поставте пробіл після сплеску та обережно введіть, intel_idle.max_cstate=1переконуючись, що також є пробіл.

Тепер натисніть F10або Ctrl+ xдля завантаження.


@Arronical hehe спасибі! Я маю це знати - моя система буде залишатися без роботи ~ 15 хвилин без неї, але з парам, вона ніколи не заморожується :) Вся заслуга справді дивовижних хакерів, які це зрозуміли
Zanna

Дякую! Чи зупиняє це невідповідь на Ctrl Alt REISUB? Також відповіддю на вищезазначене редагування GRUB було те, що якщо встановлено прихований тайм-аут, то вищезгадане редагування не буде працювати. Як можна обійти це, якщо проблема не вдається?
клр

@clr c-стан заморожування не відповідає на магічний sysrq REISUB, але це виправлення зупиняє c-стан заморожування. Якщо ваша система замерзне з якоїсь іншої причини, REISUB може працювати. GRUB_HIDDEN_TIMEOUT не впливає на параметри завантаження, і вам слід мати можливість отримати доступ до меню, натискаючи клавішу shift при запуску. Якщо ви не можете, у випадку, коли система занадто швидко зависає для редагування /etc/default/grub, це біль, але ви можете спробувати завантажити живу сесію версії зі старшим ядром, щоб відредагувати файл - встановіть кореневий розділ /mntі відредагуйте /mnt/etc/default/grubна додати параметр.
Занна

Дякуємо за чіткі вказівки. Я сподіваюся, що це робить трюк. Я звітую тут, якщо цього не стане. Зараз я працюю 16.10 на Zotac Nano CI320. Я раніше спробував 16.04 та Debian 8, а також випробував випадкові заморозки. Я спробував 16.10, сподіваючись, що проблема просто піде з новим ядром. Цікаво, що одного разу, коли я спробував REISUB (я не пам'ятаю, яка ОС) він спрацював - тож може виявитися, що я зіткнувся з іншою проблемою.
Джеремі Кук

@JeremyCook Я щойно встановив 16.10, і перше, що я зробив - це відредагувати параметри завантаження - я дійсно повинен перевірити це нове ядро! Будь ласка, дайте мені знати, працює вона чи ні.
Zanna

1

Процесори Linux на Bay Trail та Braswell випадковим чином зависають за допомогою вбудованих відеопристроїв.

Проблема полягає в регулюванні температури. Просто вийміть модуль thermd:

sudo apt-get remove thermald 

3
Я вважаю, що помилка Bay Trail є у драйвері i915 (Intel CPU). Процесор постійно намагається перейти в стан сну, які не підтримуються ним. Проблеми для користувачів Bay Trail почалися після переходу на i915, тому в цьому завжди звинувачували. Однак, можливо, для когось є інша причина, і я не маю поняття про застигання Брасвелла, і було б чудово знати, що вони виправлені якимось (безпечним?) Заходом. Чи є у вас посилання на цю інформацію, чи можете ви сказати нам, на якому апаратному забезпеченні це тестувалося та працювало?
Zanna

Здається, що це ще проблема з 19.04. Я сподівався, що це вже виправлено. Сталося на моєму ноутбуці з 14.04. 15.10 виправити майже неможливо.
crip659

0

Для людей, які переглядають цю помилку, тут є оновлення. Перейдіть до: Bug 109051 - intel_idle.max_cstate = 1, необхідний на baytrail, щоб запобігти збоям, і натисніть Endклавішу. При необхідності натисніть Page Upна повідомлення №1013.

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

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

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

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

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