Як розслідувати причину тотальної повіси?


19

Моя машина Arch іноді зависає, раптом жодним чином не реагуючи на мишу чи клавіатуру. Курсор заморожений. Ctrl-Alt-Backsp не зупинить X11, а ctrl-alt-del точно нічого не робить. Графіки активності процесора, мережі та диска в коньках та icewm зупиняються на оновленні. Через кілька хвилин вентилятор включається. Єдиний спосіб змусити комп’ютер взагалі щось робити - це вимкнути живлення.

Коли він завантажується, монітори температурних процесорів показують від 70 до 80 ° C. Перед тим, як повісити, я, як правило, займався низькою інтенсивністю, наприклад, веб-серфінгом, що займав 50 °

Журнали не показують нічого особливого порівняно із звичайним відключенням. Перевірка пам’яті працює нормально з нульовими дефектами.

Як я можу розслідувати, чому вона зависла? Чи є додаткова інформація, яку я можу знайти для підказки? Чи є щось менш драстичне, ніж вимкнення, щоб зробити якісь дії, якщо тільки обмежена оболонка або просто звукові сигнали, але це може дати підказку?

Машина являє собою 17-дюймовий ноутбук Gateway P6860 (об'ємний, але потужний) і він працює на базі Arch 64bit, на сьогоднішній день (станом на березень 2011 року). У мене Arch був тривалий час без цієї проблеми, перейшов на Ubuntu приблизно на тиждень потім відступив назад до нової установки Arch. Ось тоді почалися завіси.

ОНОВЛЕННЯ: Так, точно перегрів. При одній температурі миша та клавіатура перестають працювати, іноді стають функціональними після декількох хвилин охолодження. При більш високій температурі відбуваються гірші речі, як тотальна невідповідність, включаючи ігнорування SysRq. Цей стан невдовзі супроводжується раптовим відключенням живлення. Я вирішив проблему, купивши новий комп'ютер 8D

Відповіді:


7

Відповідь Фредеріка, що стосується магічних SysRq та скидів ядра, спрацює, якщо ядро ​​все ще працює, а не справді висіло. Ядро може чомусь просто зайняте циклом.

Той факт, що він не відповідає Ctrl-Alt-Del, говорить мені, що, мабуть, це не так, і що машина замикається важко. Це означає несправність обладнання або щось близько пов'язане, наприклад, поганий драйвер.

Ваш тест перевірки пам’яті хороший, якщо ви даєте йому працювати досить довго. Ви також повинні спробувати інші речі, щоб спробувати підкреслити систему, як-от StressLinux . Тривалі показники також хороші.

Інша річ, яку слід спробувати, - це завантажувати систему з живим компакт-диском Ubuntu і намагатися використовувати систему як звичайну. Якщо повернення до Ubuntu тимчасово подібне не спричиняє повторення проблеми, є хороший шанс, що це насправді не зламане обладнання, а одна з пов’язаних речей, наприклад, поганий драйвер або неправильно налаштоване ядро. Цілком можливо, що більш популярний дистрибутив, подібний Ubuntu, міг би мати більш стабільну конфігурацію ядра, ніж аналогічний Arch, просто завдяки більшій кількості машин, на яких пробувались на етапі тестування дистрибутива.


Я вважаю, що Ctrl-Alt-Delete обробляється init, тому він може не працювати, навіть якщо ядро ​​все-таки є. OTOH AFAIR ядро ​​не чекає клавіш SysRq після паніки.
jpc

1
Це можливо. Щоб розрізнити справи, покладіть ctrlaltdel hardу свій /etc/rc.localфайл. Коли система заблокується, спробуйте Ctrl-Alt-Del. Якщо це все ще нічого не робить, ви точно знаєте, що ядро ​​більше не працює; у вас несправність апаратного забезпечення або драйвера.
Warren Young

1
Я мав ядра реагувати на Magic SysRq клавіші, хоча це було панічно. Належне налаштування служби kdump повинно забезпечити, щоб повністю закріплена система завантажилася в ядро ​​kdump, тому вона з часом повинна повернутися назад.
jsbillings

1
Після швидкого проскакування коду обробки клавіатури ядра, мені здається, що Ctrl-Alt-Del і магія SysRq обробляються на одному рівні: якщо одна працює, інша буде. Проблема init (1) / SIGINT є окремою і вирішується шляхом встановлення Ctrl-Alt-Del обробки для жорсткого перезавантаження, як згадувалося в моєму іншому коментарі.
Warren Young

11

Щодо заморожування, є кілька варіантів:

  • використовуючи послідовний порт, якщо у вашому вікні є такий, щоб отримати там дамп, додавши console=ttyS0параметри завантаження, як описано тут . Вам потрібна друга машина з послідовним портом і нульовим модемним кабелем, щоб захопити файл дампа.

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

  • Використовуючи kexec / kdump таким чином, ви отримуєте локальний дамп, дивіться тут .

Щодо проблеми з чистим відключенням живлення, я пропоную вам скористатися магічною клавішею SysRq для 'S'ync дисків', вимкніть їх, а потім перезавантажте поле (літери - це ті, які слід вводити разом з alt -sysrq.

Редагувати: Якщо ви опублікуєте oops / trace у lkml, вам слід скористатись останньою (бажано останньою) версією ядра та без власних модулів.


1
Я можу уявити собі багато молодих голосів, які говорять "Що таке серійний порт, дідусю?" Насправді, я не думаю, що ця машина навіть має її.
DarenW

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