Устранение неполадок ядра – следующие шаги после анализа «сбоя»

Я запускаю машину Ubuntu 12.04 с процессором Intel i7. Время от времени он полностью зависает – машина и дисплей остаются на минутку или около того, звук, который воспроизводился (если он вообще случается) начинает цикл, а затем перезагружается. Хотя это обычно происходит при средней или высокой нагрузке, иногда это происходит, когда ничего не работает. Авария происходит независимо от того, включена ли поддержка Intel XMP 1333 МГц для установки памяти 1600 МГц в BIOS. Я еще не коснулся других настроек разгона. Вот очевидные вещи, которые я сделал до сих пор:

Наблюдаемая температура процессора

Следуя инструкциям здесь , я настраиваю приборы для измерения температуры на машине, а затем запускаю watch sensors чтобы я мог непрерывно считывать температуру процессора. Машина замерзает, несмотря на то, что все стержни работают при разумных температурах (~ 60-65 градусов).

Наблюдаемое использование ОЗУ

Аппарат имеет 16 ГБ оперативной памяти. Он замерзает, несмотря на то, что он используется только в ~ 3 ГБ.

Наблюдаемое использование ЦП

Как было сказано ранее, замораживание происходит чаще при загрузке, но также происходит при «холостом».

Ни одна из этих очевидных вещей не указывала на проблему, поэтому я последовал за этим руководством, чтобы встать и запустить команду crash чтобы помочь мне диагностировать проблему.

Вот результат запуска crash на дампе сбоя:

 crash /usr/lib/debug/boot/vmlinux-3.2.0-58-generic ~/temp/crash2/VmCore crash 6.1.6 Copyright (C) 2002-2013 Red Hat, Inc. Copyright (C) 2004, 2005, 2006, 2010 IBM Corporation Copyright (C) 1999-2006 Hewlett-Packard Co Copyright (C) 2005, 2006, 2011, 2012 Fujitsu Limited Copyright (C) 2006, 2007 VA Linux Systems Japan KK Copyright (C) 2005, 2011 NEC Corporation Copyright (C) 1999, 2002, 2007 Silicon Graphics, Inc. Copyright (C) 1999, 2000, 2001, 2002 Mission Critical Linux, Inc. This program is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Enter "help copying" to see the conditions. This program has absolutely no warranty. Enter "help warranty" for details. GNU gdb (GDB) 7.3.1 Copyright (C) 2011 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-unknown-linux-gnu"... KERNEL: /usr/lib/debug/boot/vmlinux-3.2.0-58-generic DUMPFILE: /home/bryce/temp/crash2/VmCore CPUS: 8 DATE: Mon Jan 20 19:29:26 2014 UPTIME: 02:33:18 LOAD AVERAGE: 1.40, 0.93, 0.50 TASKS: 579 NODENAME: <node_name> RELEASE: 3.2.0-58-generic VERSION: #88-Ubuntu SMP Tue Dec 3 17:37:58 UTC 2013 MACHINE: x86_64 (3499 Mhz) MEMORY: 16 GB PANIC: "[ 9180.518213] Kernel panic - not syncing: Fatal Machine check" PID: 0 COMMAND: "swapper/1" TASK: ffff8804045e9700 (1 of 8) [THREAD_INFO: ffff8804045e4000] CPU: 1 STATE: TASK_RUNNING (PANIC) 

И результат запуска bt в crash строке:

 crash> bt PID: 0 TASK: ffff8804045e9700 CPU: 1 COMMAND: "swapper/1" #0 [ffff88041ec4aba0] machine_kexec at ffffffff8103943a #1 [ffff88041ec4ac10] crash_kexec at ffffffff810b58d8 #2 [ffff88041ec4ace0] panic at ffffffff8164928c #3 [ffff88041ec4ad60] mce_panic at ffffffff8102ab0b #4 [ffff88041ec4adb0] mce_panic at ffffffff8102aba0 #5 [ffff88041ec4ade0] mce_reign at ffffffff8102ade4 #6 [ffff88041ec4ae40] mce_end at ffffffff8102b095 #7 [ffff88041ec4ae70] do_machine_check at ffffffff8102b84c #8 [ffff88041ec4af50] machine_check at ffffffff8166254c [exception RIP: mwait_idle_with_hints+93] RIP: ffffffff8103109d RSP: ffff8804045e5e38 RFLAGS: 00000046 RAX: 0000000000000033 RBX: ffff88040009ba60 RCX: 0000000000000001 RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000033 RBP: ffff8804045e5e38 R8: ffff8804045e5fd8 R9: 0000000000000f85 R10: 000000000000198f R11: 0000000000000000 R12: 0000000000000002 R13: ffff88040009b800 R14: ffff88040009b820 R15: 134b04c7ed0ea230 ORIG_RAX: ffffffffffffffff CS: 0010 SS: 0018 --- <MCE exception stack> --- #9 [ffff8804045e5e38] mwait_idle_with_hints at ffffffff8103109d #10 [ffff8804045e5e40] acpi_processor_ffh_cstate_enter at ffffffff810310e2 #11 [ffff8804045e5e50] acpi_idle_do_entry at ffffffff81399182 #12 [ffff8804045e5e60] acpi_idle_enter_simple at ffffffff813992d8 #13 [ffff8804045e5ea0] cpuidle_idle_call at ffffffff8150bd61 #14 [ffff8804045e5f00] cpu_idle at ffffffff8101322a 

И результат запуска log в приглашении о сбое (я только показал хвост файла, с первой отображаемой строкой в ​​момент времени 4232.799 в качестве более раннего контекста – сведения об ошибках начинаются в следующей строке):

 crash>log [ 4232.799853] ath: Could not kill baseband RX [ 9180.518188] [Hardware Error]: CPU 5: Machine Check Exception: 5 Bank 1: bf80000000000124 [ 9180.518191] [Hardware Error]: RIP !INEXACT! 10:<ffffffff8111fc4f> {__rmqueue+0x1f/0x4b0} [ 9180.518196] [Hardware Error]: TSC 1d5211c92f0e ADDR 419801540 MISC 86 [ 9180.518199] [Hardware Error]: PROCESSOR 0:306c3 TIME 1390210166 SOCKET 0 APIC 3 microcode 9 [ 9180.518200] [Hardware Error]: Run the above through 'mcelog --ascii' [ 9180.518202] [Hardware Error]: CPU 1: Machine Check Exception: 5 Bank 1: bf80000000000124 [ 9180.518204] [Hardware Error]: RIP !INEXACT! 10:<ffffffff8103109d> {mwait_idle_with_hints+0x5d/0x70} [ 9180.518207] [Hardware Error]: TSC 1d5211c92ee8 ADDR 419801540 MISC 86 [ 9180.518209] [Hardware Error]: PROCESSOR 0:306c3 TIME 1390210166 SOCKET 0 APIC 2 microcode 9 [ 9180.518210] [Hardware Error]: Run the above through 'mcelog --ascii' [ 9180.518211] [Hardware Error]: Machine check: Processor context corrupt [ 9180.518213] Kernel panic - not syncing: Fatal Machine check [ 9180.518215] Pid: 0, comm: swapper/1 Tainted: PMO 3.2.0-58-generic #88-Ubuntu [ 9180.518216] Call Trace: [ 9180.518217] <#MC> [<ffffffff81649285>] panic+0x91/0x1a4 [ 9180.518224] [<ffffffff8102ab0b>] mce_panic.part.14+0x18b/0x1c0 [ 9180.518226] [<ffffffff8102aba0>] mce_panic+0x60/0xb0 [ 9180.518228] [<ffffffff8102ade4>] mce_reign+0x1f4/0x200 [ 9180.518230] [<ffffffff8102b095>] mce_end+0xf5/0x100 [ 9180.518232] [<ffffffff8102b84c>] do_machine_check+0x3fc/0x600 [ 9180.518234] [<ffffffff8103109d>] ? mwait_idle_with_hints+0x5d/0x70 [ 9180.518237] [<ffffffff8166254c>] machine_check+0x1c/0x30 [ 9180.518239] [<ffffffff8103109d>] ? mwait_idle_with_hints+0x5d/0x70 [ 9180.518240] <<EOE>> [<ffffffff810310e2>] acpi_processor_ffh_cstate_enter+0x32/0x40 [ 9180.518244] [<ffffffff81399182>] acpi_idle_do_entry+0x10/0x2b [ 9180.518246] [<ffffffff813992d8>] acpi_idle_enter_simple+0xaa/0x115 [ 9180.518249] [<ffffffff8150bd61>] cpuidle_idle_call+0xc1/0x290 [ 9180.518252] [<ffffffff8101322a>] cpu_idle+0xca/0x120 [ 9180.518255] [<ffffffff8163fa12>] start_secondary+0xd9/0xdb 

Итак, учитывая эту информацию, что является следующим шагом в диагностике этой проблемы?

    2 Solutions collect form web for “Устранение неполадок ядра – следующие шаги после анализа «сбоя»”

    Сначала Питер пришел с комментарием, который я не повторю, так что взгляните на эту статью в Википедии .

    Вот что говорит mcelog для меня здесь:

     > mcelog --ascii 

    Это читается из stdin. Затем я разрежу n 'paste:

     TSC 1d5211c92ee8 ADDR 419801540 MISC 86 PROCESSOR 0:306c3 TIME 1390210166 SOCKET 0 APIC 2 microcode 9 

    Из вашего журнала. Это выплевывает:

     Hardware event. This is not a software error. CPU 0 BANK 0 TSC 1d5211c92ee8 TIME 1390210166 Mon Jan 20 04:29:26 2014 MCG status: MCi status: Machine check not valid Corrected error MCA: No Error STATUS 0 MCGSTATUS 0 CPUID Vendor Intel Family 6 Model 60 SOCKET 0 APIC 2 microcode 9 

    Однако он требует разрешения на /dev/mem , поэтому, если ему нужна информация оттуда, он не может попасть в мою систему, это может быть не вся правда.

    Легко диагностировать и исправлять MCE будет плохой баран. Чтобы правильно проверить это, вы можете использовать memtest . Memtest – это голая металлическая программа (т. Е. Запускается сама по себе без операционной системы), которую вы должны загружать. Я считаю, что большинство живых компакт-дисков имеют это, по крайней мере, те, которые я использую для федералов. Это один из вариантов в меню grub (?), Когда диск загружается первым. В некоторых BIOS это тоже вариант.

    Похоже, что обновление BIOS до последней версии устранило проблему – машина не разбилась в течение ~ 24 часов при загрузке, что значительно лучше, чем обычно. Тем не менее, я верну свой ответ, если он скоро снова выйдет из строя.

    Для потомков это материнская плата ASUS Z87-PRO. Я не могу вспомнить обновленный номер версии BIOS, но я считаю, что это был выпуск в декабре 2013 года (последний на момент написания). Также для записи я запускал memtest из меню GRUB, как было предложено @goldilocks, прежде чем обновлять BIOS, и никаких проблем не обнаружено (хотя я пропустил только один проход).

    Замечания / ответы от @peterph и @goldilocks были полезны для определения этого, скорее всего, проблемы с программным обеспечением в первую очередь.

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

    Linux и Unix - лучшая ОС в мире.