Çekirdek panik kütükleri nerede?


31

El freni / ffmpeg ile ilgili sorunum var. ~ 5 dakika kod dönüştürmeden sonra bilgisayar kilitlenir. Caps-lock yanıp sönmeye başladığı için bir çekirdek paniği olduğundan eminim.

Ne yapılması gerektiğiyle ilgili ve bazı özel hatalarla ilgili mantıklı sorular var, ama ben gerçekten bir şeyin peşindeyim: her şey ölmeden önce ne oldu ?!

Kontrol ettim /var/log/kern.logve etrafta gördüğüm tek şey bir DVD'ye yapıyorum ve ardından birkaç dakika sonra sistem açılıyor. Hata yok, panik uyarısı yok.

Panik yapmayı zorlamak için herhangi bir yol var mı? Bunu yeniden üretebileceğimden eminim (son zamanlarda denediğim zamanların% 100'ü oldu), bu yüzden “sadece işe yaradı” derken, eğer yapabilirsem birkaç kez yeniden başlatmaya yetecek kadar mutluyum. panik nedenini bulmak.


Kod çözme sırasında aldığınız belirli bir mesaj var mı? Çözümü izlemek için faydalı olabilir;)
Rinzwind

@ Rinzwind Nope. Hiçbir şey göstermedi, sadece dondu.
Oli

Büyük olasılıkla aşırı ısınma sorunu. Kod çözme CPU'yu zorlaştırır ve soğutmanız% 100 etkili değilse CPU acil kapatma işlemine geçer. Mesela termal macun CPU soğutucuda kuruduğunda bunu gördüm. Ayrıca, hız aşırtma ayarları BIOS'ta dağıldığında da oldu. Kilitlenmeden hemen önce CPU sıcaklığını izlemek için xsensörleri kullanmayı deneyin.
Neil Mayhew

Yanıtlar:


21

Ubuntu’daki tüm sistem günlükleriniz rsyslog, konfigürasyonunu /etc/rsyslog.confve tutarken tutar /etc/rsyslog.d/.

Yapılandırma rsyslogve olası seçeneklerle ilgili daha fazla bilgi için rsyslog.conf man page.

Açılış /etc/rsyslog.d/50-default.confsatırlarından birinin içerdiğini görebilirsiniz.

*.*;auth,authpriv.none -/var/log/syslog*

Yani bu durumda aradığınız dosya /var/log/syslogmuhtemelen sahip olacağınız devasa günlüklerden biri.

Dosya adının bir ile de başladığını görebilirsiniz; -bu, dosyanın yazmadan önce önbelleğe alındığı, harika olduğu ancak sizi kötü bir günlükle bırakabileceği anlamına gelir; Çizgiyi çıkartın ve yeniden rsyslogbaşlatın veya yeniden yükleyin ve ardından bilgisayarınızın tekrar kilitlenmesini sağlayın, kontrol edin /var/log/syslog.


1
"-" yeniden başlatıldı, kontrol edildi / var / log / syslog | grep panik. İşe yaramadı. Bir şey mi kaçırdım ?
AAI

26

Eğer gerçekten bir çekirdek paniği ise, normal yöntemlerle bir kütüğe yazılmayacaktır. Çekirdek bu noktada düştüğü için, dosya sistemine yazı yazmak riskli bir işlemdir - çekirdeğin çoğu artık güvenilir değildir, bu nedenle günlüklere yazma, bootloader'ınıza rastgele saçma yayıyor olabilir!

Bunun yerine, bellek içeriğini takas alanınıza koyabilir ve daha sonra hata ayıklayabilirsiniz. Bu bir çekirdek çökmesi / çekirdek dökümü olarak bilinir.

Ubuntu Wiki'nin kullanışlı olabilecek bir CrashdumpRecipe'ı var - biraz modası geçmiş olsa da, çok fazla değişikliğin olması gerektiğini düşünmüyorum.


10
CrashdumpRecipe, Sourceforge'da bulunan Linux Çekirdek Kilitlenme Dökümü (LKCD) aracına atıfta bulunur - Ubuntu için bir paket vardır linux-crashdump; bu paket hala mevcut tüm sürümlerinde.
Mei

3

Seri port

Seri port, bilgisayarlar arasında basit, düşük seviyeli bir iletişim mekanizmasıdır.

Avantajları:

  • bir kez basit kurulum (donanıma sahipseniz)
  • Verilerin aktarılması, TCP / IP alt sistemine göre panikten daha az etkilenmesi muhtemel olan basit tellere ve çekirdek API'ye bağlı olduğundan, güvenilirdir.

Downsides:

  • modern dizüstü bilgisayarların çoğunda yer kazanmak için artık seri bağlantı noktası bulunmuyor. Ancak masaüstleri ve sanal makineler hala var.
  • veriyi almak için seri bağlantı noktasına sahip ikinci bir bilgisayara da ihtiyacınız vardır, ancak bu Raspberry Pi gibi tüm yerleşik geliştirme panoları için geçerlidir.
  • Sınırsız olan TCP / IP ağlarının aksine, fiziksel katman seri kablosunun uzunluğu ile sınırlıdır. Bununla birlikte, bu seri ve TCP / IP arasında arayüz kuran bir cihazla çalışılabilir. Ancak ikisi arasında dönüşüm yapan cihazlar var.

Seri bağlantı noktası şöyle görünür:

ve RPI'da GPIO aracılığıyla kullanılabilir.

Ardından, gerekli donanıma sahipseniz, ikinci bilgisayardan ana bilgisayara aşağıdakileri bağlayın:

screen /dev/ttyS0 115200

Bu aslında size bir kabuk verir.

Ardından ana makinede, panikleyen işlemi başlatın.

Panik gerçekleştiğinde, panik dökümü ikinci makineye akıyor ve terminalde yukarı kaydırılarak hepsini görebilirsiniz.

Diğer yöntemler. Diğer metodlar

Yukarıda belirtilen donanım sınırlamalarını aşan, daha karmaşık ve daha az güvenilir olma pahasına başka yöntemler de vardır. Önemli yöntemler:

  • netdump: panik akışını TCP / IP üzerinden gerçekleştirir. TCP / IP alt sisteminin bozulmamasına güvenir.
  • kdump: https://askubuntu.com/a/104793/52975 adresinde belirtilen linux-crashdump'un altında yatan mekanizma gibi gözüküyor . Ne yanlış gidebilir ki ?! :-)

Ayrıca bu harika cevaba bakınız: https://unix.stackexchange.com/questions/60574/determining-cause-of-linux-kernel-panic

Adım hata ayıklama

Sonuçta, panik çıktısı almak bazı çekirdek işlevselliklerinin çalışmasını gerektirir ve herhangi bir çekirdek işlevsellik panik tarafından bozulabilir.

Fakat eğer çekirdeği üzerinde GDB kullanabilirseniz paniğe kim ihtiyaç duyar? Eğer o kadar sert iseniz, bir göz atın:

Her görüş tamamen görünürlüke sahip olduğunuzda (ve yeterli zamanınız olduğunda!) Düşer.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.