Używam pochodnej Ubuntu 12.04 (amd64) i ostatnio mam naprawdę dziwne problemy. Niespodziewanie X najwyraźniej zawiesi się na chwilę (1-3 minuty?), A następnie system uruchomi się ponownie. Ten system jest podkręcony, ale bardzo stabilny, co potwierdzono w systemie Windows, co prowadzi mnie do wniosku, że mam panikę jądra lub problem z jednym z moich modułów. Nawet w Linuksie mogę uruchomić LINPACK i nie zobaczę awarii, mimo że włożyłem w procesor absurdalne obciążenie. Wydaje się, że awarie zdarzają się w przypadkowych momentach, nawet gdy maszyna nie pracuje.
Jak mogę debugować, co powoduje awarię systemu?
Na przeczucie, że może to być prawnie zastrzeżony sterownik NVIDIA, wróciłem do stabilnej wersji sterownika, wersji 304 i nadal mam awarię.
Czy ktoś może przeprowadzić mnie przez dobrą procedurę debugowania po awarii? Z chęcią uruchomię pamięć USB i opublikuję wszystkie moje pliki konfiguracyjne po awarii, po prostu nie jestem pewien, jakie by to były. Jak mogę dowiedzieć się, co powoduje awarię mojego systemu?
Oto kilka dzienników, zwykłych sprawców.
.xsession-error : http://pastebin.com/EEDtVkVm
/var/log/Xorg.0.log : http://pastebin.com/ftsG5VAn
/var/log/kern.log : http://pastebin.com/Hsy7jcHZ
/ var / log / syslog : http://pastebin.com/9Fkp3FMz
Wydaje mi się, że w ogóle nie mogę znaleźć zapisu katastrofy.
Wywołanie awarii nie jest tak proste, wydaje się, że dzieje się tak, gdy GPU próbuje narysować wiele rzeczy naraz. Jeśli włączę film na YouTube na pełnym ekranie i pozwolę mu się powtórzyć przez chwilę lub przewinie mnóstwo plików GIF, a pojawi się powiadomienie Skype, czasem się zawiesi. Całkowicie podrapałem się po głowie.
Procesor jest podkręcony do 4,8 GHz, ale jest całkowicie stabilny i przetrwał wczoraj ogromne przebiegi LINPACK i 9 godzin Prime95 bez jednego awarii.
Aktualizacja
Mam zainstalowane kdump
, crash
oraz linux-crashdump
, a także symbole debugowania jądra dla mojego jądra wersji 3.2.0-35. Kiedy uruchomić apport-unpack
na rozbił plik jądra, a następnie crash
na VmCore
zrzutu awaryjnego, oto co widzę:
KERNEL: /usr/lib/debug/boot/vmlinux-3.2.0-35-generic
DUMPFILE: Downloads/crash/VmCore
CPUS: 8
DATE: Thu Jan 10 16:05:55 2013
UPTIME: 00:26:04
LOAD AVERAGE: 2.20, 0.84, 0.49
TASKS: 614
NODENAME: mightymoose
RELEASE: 3.2.0-35-generic
VERSION: #55-Ubuntu SMP Wed Dec 5 17:42:16 UTC 2012
MACHINE: x86_64 (3499 Mhz)
MEMORY: 8 GB
PANIC: "[ 1561.519960] Kernel panic - not syncing: Fatal Machine check"
PID: 0
COMMAND: "swapper/5"
TASK: ffff880211251700 (1 of 8) [THREAD_INFO: ffff880211260000]
CPU: 5
STATE: TASK_RUNNING (PANIC)
Kiedy uruchamiam log
z crash
narzędzia, widzę to na dole dziennika:
[ 1561.519943] [Hardware Error]: CPU 4: Machine Check Exception: 5 Bank 3: be00000000800400
[ 1561.519946] [Hardware Error]: RIP !INEXACT! 33:<00007fe99ae93e54>
[ 1561.519948] [Hardware Error]: TSC 539b174dead ADDR 3fe98d264ebd MISC 1
[ 1561.519950] [Hardware Error]: PROCESSOR 0:206a7 TIME 1357862746 SOCKET 0 APIC 1 microcode 28
[ 1561.519951] [Hardware Error]: Run the above through 'mcelog --ascii'
[ 1561.519953] [Hardware Error]: CPU 0: Machine Check Exception: 4 Bank 3: be00000000800400
[ 1561.519955] [Hardware Error]: TSC 539b174de9d ADDR 3fe98d264ebd MISC 1
[ 1561.519957] [Hardware Error]: PROCESSOR 0:206a7 TIME 1357862746 SOCKET 0 APIC 0 microcode 28
[ 1561.519958] [Hardware Error]: Run the above through 'mcelog --ascii'
[ 1561.519959] [Hardware Error]: Machine check: Processor context corrupt
[ 1561.519960] Kernel panic - not syncing: Fatal Machine check
[ 1561.519962] Pid: 0, comm: swapper/5 Tainted: P M C O 3.2.0-35-generic #55-Ubuntu
[ 1561.519963] Call Trace:
[ 1561.519964] <#MC> [<ffffffff81644340>] panic+0x91/0x1a4
[ 1561.519971] [<ffffffff8102abeb>] mce_panic.part.14+0x18b/0x1c0
[ 1561.519973] [<ffffffff8102ac80>] mce_panic+0x60/0xb0
[ 1561.519975] [<ffffffff8102aec4>] mce_reign+0x1f4/0x200
[ 1561.519977] [<ffffffff8102b175>] mce_end+0xf5/0x100
[ 1561.519979] [<ffffffff8102b92c>] do_machine_check+0x3fc/0x600
[ 1561.519982] [<ffffffff8136d48f>] ? intel_idle+0xbf/0x150
[ 1561.519984] [<ffffffff8165d78c>] machine_check+0x1c/0x30
[ 1561.519986] [<ffffffff8136d48f>] ? intel_idle+0xbf/0x150
[ 1561.519987] <<EOE>> [<ffffffff81509697>] ? menu_select+0xe7/0x2c0
[ 1561.519991] [<ffffffff815082d1>] cpuidle_idle_call+0xc1/0x280
[ 1561.519994] [<ffffffff8101322a>] cpu_idle+0xca/0x120
[ 1561.519996] [<ffffffff8163aa9a>] start_secondary+0xd9/0xdb
bt
wyświetla ślad śledzenia:
PID: 0 TASK: ffff880211251700 CPU: 5 COMMAND: "swapper/5"
#0 [ffff88021ed4aba0] machine_kexec at ffffffff8103947a
#1 [ffff88021ed4ac10] crash_kexec at ffffffff810b52c8
#2 [ffff88021ed4ace0] panic at ffffffff81644347
#3 [ffff88021ed4ad60] mce_panic.part.14 at ffffffff8102abeb
#4 [ffff88021ed4adb0] mce_panic at ffffffff8102ac80
#5 [ffff88021ed4ade0] mce_reign at ffffffff8102aec4
#6 [ffff88021ed4ae40] mce_end at ffffffff8102b175
#7 [ffff88021ed4ae70] do_machine_check at ffffffff8102b92c
#8 [ffff88021ed4af50] machine_check at ffffffff8165d78c
[exception RIP: intel_idle+191]
RIP: ffffffff8136d48f RSP: ffff880211261e38 RFLAGS: 00000046
RAX: 0000000000000020 RBX: 0000000000000008 RCX: 0000000000000001
RDX: 0000000000000000 RSI: ffff880211261fd8 RDI: ffffffff81c12f00
RBP: ffff880211261e98 R8: 00000000fffffffc R9: 0000000000000f9f
R10: 0000000000001e95 R11: 0000000000000000 R12: 0000000000000003
R13: ffff88021ed5ac70 R14: 0000000000000020 R15: 12d818fb42cfe42b
ORIG_RAX: ffffffffffffffff CS: 0010 SS: 0018
--- <MCE exception stack> ---
#9 [ffff880211261e38] intel_idle at ffffffff8136d48f
#10 [ffff880211261ea0] cpuidle_idle_call at ffffffff815082d1
#11 [ffff880211261f00] cpu_idle at ffffffff8101322a
Jakieś pomysły?
tail -f /var/log/kern.log
uruchomić i spróbować złapać go w ten sposób.
/var/log/kern.log
, ale teraz patrzy syslog
.