GNU/Linux >> Belajar Linux >  >> Linux

Perintah Dmesg di Linux

Kernel Linux adalah inti dari sistem operasi yang mengontrol akses ke sumber daya sistem, seperti CPU, perangkat I/O, memori fisik, dan sistem file. Kernel menulis berbagai pesan ke buffer ring kernel selama proses boot, dan ketika sistem sedang berjalan. Pesan-pesan ini mencakup berbagai informasi tentang pengoperasian sistem.

Buffer ring kernel adalah bagian dari memori fisik yang menyimpan pesan log kernel. Ini memiliki ukuran tetap, yang berarti setelah buffer penuh, catatan log yang lebih lama akan ditimpa.

dmesg utilitas baris perintah digunakan untuk mencetak dan mengontrol buffer ring kernel di Linux dan sistem operasi mirip Unix lainnya. Ini berguna untuk memeriksa pesan boot kernel dan men-debug masalah terkait perangkat keras.

Dalam tutorial ini, kita akan membahas dasar-dasar dmesg perintah.

Menggunakan dmesg Perintah #

Sintaks untuk dmesg perintahnya adalah sebagai berikut:

dmesg [OPTIONS]

Saat dipanggil tanpa opsi apa pun dmesg menulis semua pesan dari buffer ring kernel ke output standar:

dmesg

Secara default, semua pengguna dapat menjalankan dmesg memerintah. Namun, pada beberapa sistem, akses ke dmesg mungkin dibatasi untuk pengguna non-root. Dalam situasi ini, saat menjalankan dmesg Anda akan mendapatkan pesan kesalahan seperti di bawah ini:

dmesg: read kernel buffer failed: Operation not permitted

Parameter kernel kernel.dmesg_restrict menentukan apakah pengguna yang tidak memiliki hak dapat menggunakan dmesg untuk melihat pesan dari buffer log kernel. Untuk menghapus batasan, setel ke nol:

sudo sysctl -w kernel.dmesg_restrict=0

Biasanya, output berisi banyak baris informasi, sehingga hanya bagian terakhir dari output yang dapat dilihat. Untuk melihat satu halaman pada satu waktu, pipa output ke utilitas pager seperti less atau more :

dmesg --color=always | less

--color=always digunakan untuk mempertahankan keluaran berwarna.

Jika Anda ingin memfilter pesan buffer, gunakan grep . Misalnya, untuk hanya melihat pesan terkait USB, ketik:

dmesg | grep -i usb

dmesg membaca pesan yang dihasilkan oleh kernel dari /proc/kmsg berkas maya. File ini menyediakan antarmuka ke buffer ring kernel dan hanya dapat dibuka oleh satu proses. Jika syslog proses sedang berjalan di sistem Anda dan Anda mencoba membaca file dengan cat , atau less , perintah akan hang.

syslog daemon membuang pesan kernel ke /var/log/dmesg , jadi Anda juga dapat menggunakan file log itu:

cat /var/log/dmesg

Memformat dmesg Keluaran #

dmesg command menyediakan sejumlah opsi yang membantu Anda memformat dan memfilter output.

Salah satu opsi dmesg yang paling sering digunakan adalah -H (--human ), yang memungkinkan keluaran yang dapat dibaca manusia. Opsi ini menyalurkan output perintah ke pager:

dmesg -H

Untuk mencetak stempel waktu yang dapat dibaca manusia, gunakan -T (--ctime ) pilihan:

dmesg -T
[Mon Oct 14 14:38:04 2019] IPv6: ADDRCONF(NETDEV_CHANGE): wlp1s0: link becomes ready

Format stempel waktu juga dapat diatur menggunakan --time-format <format> opsi, yang dapat berupa ctime, reltime, delta, notime, atau iso. Misalnya untuk menggunakan format delta Anda akan mengetik:

dmesg --time-format=delta

Anda juga dapat menggabungkan dua opsi atau lebih:

dmesg -H -T

Untuk melihat keluaran dmesg perintah secara real-time gunakan -w (--follow ) pilihan:

dmesg --follow

Memfilter dmesg Keluaran #

Anda dapat membatasi dmesg output ke fasilitas dan level yang diberikan.

Fasilitas tersebut mewakili proses yang menciptakan pesan. dmesg mendukung fasilitas log berikut:

  • kern - pesan kernel
  • user - pesan tingkat pengguna
  • mail - sistem surat
  • daemon - daemon sistem
  • auth - pesan keamanan/otorisasi
  • syslog - pesan syslogd internal
  • lpr - subsistem printer baris
  • news - subsistem berita jaringan

-f (--facility <list> ) memungkinkan Anda membatasi output ke fasilitas tertentu. Opsi ini menerima satu atau beberapa fasilitas yang dipisahkan koma.

Misalnya, untuk hanya menampilkan pesan kernel dan daemon sistem, Anda akan menggunakan:

dmesg -f kern,daemon

Setiap pesan log dikaitkan dengan tingkat log yang menunjukkan pentingnya pesan. dmesg mendukung level log berikut:

  • emerg - sistem tidak dapat digunakan
  • alert - tindakan harus segera diambil
  • crit - kondisi kritis
  • err - kondisi kesalahan
  • warn - kondisi peringatan
  • notice - kondisi normal tapi signifikan
  • info - informatif
  • debug - pesan tingkat debug

-l (--level <list> ) opsi membatasi output ke level yang ditentukan. Opsi ini menerima satu atau beberapa level yang dipisahkan koma.

Perintah berikut hanya menampilkan kesalahan dan pesan kritis:

dmesg -l err,crit

Mengosongkan Ring Buffer #

-C (--clear ) memungkinkan Anda untuk menghapus buffer cincin:

sudo dmesg -C

Hanya root atau pengguna dengan hak sudo yang dapat menghapus buffer.

Untuk mencetak konten buffer sebelum mengosongkan, gunakan -c (--read-clear ) pilihan:

sudo dmesg -c

Jika Anda ingin menyimpan dmesg saat ini log in file sebelum membersihkannya, redirect output ke file:

dmesg > dmesg_messages

Kesimpulan #

dmesg perintah memungkinkan Anda untuk melihat dan mengontrol buffer ring kernel. Ini bisa sangat berguna saat memecahkan masalah kernel atau perangkat keras.

Ketik man dmesg di terminal Anda untuk informasi tentang semua dmesg yang tersedia pilihan.

Jika Anda memiliki pertanyaan atau masukan, jangan ragu untuk memberikan komentar.


Linux
  1. Perintah mv Linux

  2. Linux du perintah

  3. Perintah ip Linux

  1. Perintah Linux dmesg - Cetak Kernel Ring Buffer

  2. Perintah cd Linux

  3. Contoh Perintah dmesg di Linux

  1. Perintah ifconfig Linux

  2. Perintah Waktu Linux

  3. Perintah Ping di Linux