Próbuję użyć trace-cmd
, aby zebrać więcej informacji o awarii kernela, którą widzę. Niestety, jądro zawiesza się z komunikatem "panic-panic - not syncing" (tzn. Bufory gniazd i plików nie są przepłukiwane, więc to, co znajdowało się w buforach w momencie awarii, jest nieuchronnie tracone).użyj trace-cmd/ftrace, aby uzyskać function_graph tuż przed wystąpieniem paniki()
Czy istnieje sposób:
- siła
trace-cmd
proces opróżnić swoje bufory do systemu plików lub gniazd? LUB - zrobić trace-cmd/ftrace, aby uniknąć buforowania (np. Wywoływać printk() za scenami i używać netconsole)?
Ponieważ używam że trace-cmd
polecenia w środowisku wirtualnym wtedy mnie to nie obchodzi, że dysk może czasami uszkodzone, bo mogę po prostu przywrócić ostatnią dobrą migawki lub przesunięcie VM.
Nie rozwiązało to problemu, ponieważ uważam, że istnieje inny bufor między ftrace a trace-cmd. Unbuffer tylko odblokowuje STDOUT, prawda? –
Tak, oczywiście. Takie podejście jest tylko próbą zmniejszenia buforowania. Innym sposobem jest próba uniknięcia paniki i niech jądro działa dłużej, ale z nieprzewidywalnym wynikiem. Możesz wyłączyć panikę w kilku przypadkach. Sprawdź ustawienia "panic_on_ *" w "Dokumentacja dla/proc/sys/kernel/*" (https://www.kernel.org/doc/Documentation/sysctl/kernel.txt). – MrCryo