Apa perbedaan dari output dmesg dan / var / log / messages?

55

AFAIK dmesgmenunjukkan informasi tentang modul kernel dan kernel, dan /var/log/messagesjuga menunjukkan informasi yang dihasilkan oleh kernel dan modul.

Jadi apa bedanya? Apakah /var/log/messages output dari dmesg?

Info lebih lanjut yang mungkin membantu:
- Ada buffer ring kernel , yang saya pikir adalah satu-satunya tempat untuk menyimpan data log kernel.
- Artikel " Pencatatan kernel: API dan implementasi " pada IBM DeveloperWorks menguraikan API dan gambar tampilan burung.

xanpeng
sumber

Jawaban:

51

dmesgmencetak isi buffer cincin. Informasi ini juga dikirim secara real time ke syslogdatau klogd, ketika mereka berjalan, dan berakhir di /var/log/messages; kapan dmesgyang paling berguna adalah dalam menangkap pesan waktu boot dari sebelum syslogddan / atau klogdmulai, sehingga mereka akan dicatat dengan benar.

geekosaurus
sumber
4
Jadi /var/log/messagesdan dmesgakan menampilkan log yang sama (dalam format berbeda) setelah syslogddan / atau klogddimulai?
xanpeng
10
Setelah klogdberjalan, dmesghanya akan menampilkan pesan-pesan kernel terbaru (karena buffer cincin adalah ukuran tetap dan hanya dapat menampung begitu banyak), tanpa stempel waktu atau informasi lainnya, sementara /var/log/messagesakan menyimpan log sesuai dengan cara logrotatedikonfigurasi dan termasuk stempel waktu (yang akan sedikit tidak akurat untuk pesan boot awal karena dmesgtidak memilikinya, jadi waktu klogdmulai digunakan untuk semua pesan yang dibaca dari buffer kernel).
geekosaur
6
@xanpeng dmesghanya berisi pesan dari kernel, /var/log/messagesbiasanya juga berisi log dari aplikasi.
Gilles 'SO- stop being evil'
14

Itu tergantung pada sistem operasi. Sebagai contoh pada Solaris, dmesg hanyalah skrip shell yang menunjukkan 200 baris terakhir /var/adm/messages.*file.

Jlliagre
sumber
1
Apakah ini berwarna?
Hi-Angel
@ Hi-Angel Tidak ada post-pemrosesan file log jadi tidak ada pewarnaan, adil cat ... | tail -200.
jlliagre
6
  • Kita dapat mengatakan bahwa itu dmesgadalah himpunan bagian dari /var/log/messagesdan dipertahankan dalam buffer cincin.
  • /var/log/messagestermasuk semua pesan sistem termasuk dari mulai sistem bersama dengan pesan di dmesg. Singkatnya, log dari dmesgdibuang /var/log/messages.
  • /var/log/messagesmemelihara log aktivitas sistem umum dan dmesghanya memelihara log kernel.
Bhagyesh Dudhediya
sumber
2

dmesg : dmesg adalah pesan (tampilan atau driver). Ini digunakan untuk memeriksa atau mengontrol buffer ring kernel.

pesan : Berisi pesan sistem global, termasuk pesan yang dicatat selama startup sistem. Ada beberapa hal yang masuk /var/log/messagestermasuk surat, cron, daemon, kern, auth, dll.

Mughil
sumber