GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menggunakan Perintah dmesg Linux

Pendahuluan

dmesg command adalah utilitas Linux yang menampilkan pesan terkait kernel yang diambil dari buffer ring kernel. Buffer cincin menyimpan informasi tentang perangkat keras, inisialisasi driver perangkat, dan pesan dari modul kernel yang terjadi selama startup sistem.

dmesg perintah sangat berharga saat memecahkan masalah kesalahan terkait perangkat keras, peringatan, dan untuk mendiagnosis kegagalan perangkat.

Dalam tutorial ini, Anda akan mempelajari cara menggunakan dmesg perintah di Linux.

Prasyarat

  • Sistem komputer yang menjalankan Linux.
  • Akun pengguna dengan hak administrator.

Sintaks dan Opsi

dmesg dasar sintaks perintahnya adalah:

dmesg [options]

Tabel di bawah mencantumkan dmesg yang paling umum digunakan pilihan:

Opsi Deskripsi
-C, --clear Mengosongkan buffer cincin.
-c, --read-clear Mencetak konten buffer ring dan kemudian menghapusnya.
-f, --facility [list] Membatasi keluaran ke fasilitas dipisahkan koma yang ditentukan [list] .
-H, --human Mengaktifkan keluaran yang dapat dibaca manusia.
-L, --color[=auto|never|always] Menambahkan warna pada output. Menghilangkan [auto|never|always] argumen default ke otomatis.
-l, --level [list] Membatasi output ke daftar level yang dipisahkan koma yang ditentukan.
--noescape Menonaktifkan fitur mengeluarkan karakter yang tidak dapat dicetak dan berpotensi tidak aman secara otomatis.
-S, --syslog Instruksikan dmesg untuk menggunakan antarmuka kernel syslog untuk membaca pesan kernel. Standarnya adalah menggunakan /dev/kmsg bukannya syslog .
-s, --buffer-size [size] Menggunakan ukuran buffer yang ditentukan untuk menanyakan buffer ring kernel. Nilai defaultnya adalah 16392.
-T, --ctime Mencetak stempel waktu yang dapat dibaca manusia.
-t, --notime Instruksikan dmesg untuk tidak mencetak stempel waktu kernel.
--time-format [format] Mencetak stempel waktu menggunakan [format] . yang ditentukan . Format yang diterima adalah ctime , reltime , delta , dan iso (a dmesg implementasi format ISO-8601).
-w, --follow Menjaga dmesg berjalan dan menunggu pesan baru. Fitur ini hanya tersedia pada sistem dengan /dev/kmsg . yang dapat dibaca berkas.
-x, --decode Mendekode fasilitas dan nomor level menjadi awalan yang dapat dibaca manusia.
-h, --help Menampilkan file bantuan dengan semua opsi yang tersedia.

Contoh Perintah Linux dmesg

Contohnya adalah umum dmesg kasus penggunaan perintah.

Menampilkan Semua Pesan dari Kernel Ring Buffer

Menjalankan dmesg tanpa opsi apa pun mengeluarkan seluruh buffer kernel, tanpa berhenti, dan tanpa cara menavigasi output.

sudo dmesg

Contoh di atas adalah sebagian dmesg keluaran perintah. Untuk navigasi yang lebih mudah dan keterbacaan yang lebih baik, kirimkan dmesg output ke pager terminal seperti less , more , atau gunakan grep .

Misalnya:

sudo dmesg | less

Perpipaan dmesg menjadi less memungkinkan Anda menggunakan fungsi pencarian untuk mencari dan menyorot item. Aktifkan pencarian dengan menekan / . Navigasikan ke layar berikutnya menggunakan Bilah spasi , atau sebaliknya menggunakan B kunci. Keluar dari output dengan menekan Q .

Menampilkan Pesan Berwarna

Secara default, dmesg menghasilkan keluaran berwarna. Jika output tidak berwarna, gunakan -L pilihan untuk mewarnainya.

sudo dmesg -L

Untuk mematikan keluaran berwarna, tambahkan --color=never pilihan untuk dmesg . Jalankan perintah berikut:

sudo dmesg --color=never

Default dmesg keluaran sekarang seragam dalam warna.

Menampilkan Pesan Saat Tiba

Pantau buffer ring kernel secara real-time menggunakan --follow pilihan. Opsi tersebut menginstruksikan perintah untuk menunggu pesan baru yang terkait dengan perangkat keras atau modul kernel setelah sistem dinyalakan.

Jalankan dmesg berikut ini perintah untuk mengaktifkan pemantauan buffer ring kernel waktu nyata:

sudo dmesg --follow

Perintah menampilkan pesan baru di bagian bawah jendela terminal. Hentikan proses menggunakan Ctrl+C .

Telusuri Istilah Tertentu

Saat menelusuri masalah tertentu atau pesan perangkat keras, kirim dmesg keluaran ke grep untuk mencari string atau pola tertentu.

Misalnya, jika Anda mencari pesan tentang memori, jalankan perintah berikut:

dmesg | grep -i memory

Output menunjukkan semua baris dari buffer yang berisi memory rangkaian. -i (abaikan huruf besar/kecil) sakelar mengabaikan sensitivitas perawatan.

Atau, jika Anda mencari pesan buffer tentang USB, port serial, jaringan, atau hard drive, jalankan perintah berikut:

USB

dmesg | grep -i usb

Port Serial

dmesg | grep -i tty

Jaringan

dmesg | grep -i eth

Hard Drive

sudo dmesg | grep -i sda

Telusuri beberapa istilah sekaligus dengan menambahkan -E opsi untuk grep dan menyediakan istilah pencarian yang terbungkus dalam kutipan, dipisahkan oleh pembatas pipa. Misalnya:

sudo dmesg | grep -E "memory|tty"

Keluaran akan mencetak semua pesan yang berisi salah satu istilah pencarian.

Baca dan Hapus Log dmesg

-c (--read-clear ) memungkinkan Anda menghapus dmesg log setelah mencetaknya. Menghapus buffer memastikan Anda hanya memiliki pesan yang valid dari reboot terbaru.

Jalankan perintah berikut:

sudo dmesg -c

Menjalankan kembali dmesg tidak memiliki keluaran sejak log telah dihapus.

Aktifkan Stempel Waktu di dmesg Logs

Aktifkan stempel waktu di dmesg output dengan menambahkannya dengan -H (--human ), yang menghasilkan keluaran yang dapat dibaca manusia dan secara otomatis menyalurkan keluaran ke pager (less ).

Jalankan perintah berikut:

sudo dmesg -H

Perintah menambahkan cap waktu dengan tanggal dan waktu diselesaikan dalam hitungan menit. Peristiwa di menit yang sama diberi label dengan detik dan nanodetik.

Keluar dari pager dengan menekan Q .

Aktifkan Stempel Waktu yang Dapat Dibaca Manusia

Aktifkan stempel waktu yang dapat dibaca manusia menggunakan -T (--ctime ) pilihan. Opsi ini menghilangkan akurasi nanodetik dari output, tetapi stempel waktu lebih mudah diikuti.

sudo dmesg -T

Stempel waktu dalam output adalah tanggal dan waktu standar, dan resolusinya dalam hitungan menit. Stempel waktu yang sama ditambahkan ke setiap tindakan yang terjadi pada menit yang sama.

Pilih Format Stempel Waktu

Gunakan --time-format [format] pilihan untuk memilih format cap waktu. Format yang tersedia adalah:

  • ctime
  • reltime
  • delta
  • notime
  • iso

Misalnya, untuk menggunakan iso format, jalankan:

sudo dmesg --time-format=iso

Format stempel waktu sekarang YYYY-MM-DD<T>HH:MM:SS,<microseconds>←+><timezone offset from UTC> .

Batasi Keluaran dmesg ke Fasilitas Tertentu

Filter dmesg keluaran ke kategori tertentu menggunakan -f pilihan. Sistem mengelompokkan pesan dalam buffer ring kernel ke dalam fasilitas (kategori) berikut:

  • kern . Pesan kernel.
  • user . Pesan tingkat pengguna.
  • mail . Pesan sistem email.
  • daemon . Pesan tentang daemon sistem.
  • auth . Pesan otorisasi.
  • syslog . syslogd Internal internal pesan.
  • lpr . Pesan subsistem printer baris.
  • news . Pesan subsistem berita jaringan.

Misalnya, perintah berikut membatasi output ke pesan yang terkait dengan syslog fasilitas:

sudo dmesg -f syslog

Untuk membuat daftar pesan dari lebih dari satu fasilitas, tentukan daftar fasilitas yang dipisahkan koma. Misalnya:

sudo dmesg -f syslog,daemon

Filter Level Log

dmesg perintah mengasosiasikan setiap pesan buffer dengan tingkat log yang mencirikan pentingnya pesan. Level yang tersedia adalah:

  • emerg . Pesan darurat.
  • alert . Peringatan yang membutuhkan tindakan segera.
  • crit . Kondisi kritis.
  • err . Pesan kesalahan.
  • warn . Pesan peringatan.
  • notice . Kondisi normal tapi signifikan.
  • info . Pesan informasi.
  • debug . Pesan tingkat debug.

Instruksikan dmesg untuk mencetak hanya pesan yang cocok dengan level tertentu menggunakan -l pilihan, diikuti dengan nama level. Misalnya:

sudo dmesg -l info

Contoh di atas hanya mengekstrak pesan informasional dari log.

Gabungkan beberapa level dalam daftar yang dipisahkan koma untuk mengambil pesan dari level tersebut. Misalnya:

sudo dmesg -l notice,warn

Outputnya menggabungkan pesan dari level log yang ditentukan.

Menggabungkan Fasilitas dan Level

Tunjukkan secara eksplisit setiap fasilitas pesan buffer dan level log di awal setiap baris menggunakan -x opsi (dekode).

Misalnya:

sudo dmesg -x

Pada contoh di atas, setiap baris diawali dengan fasilitas dan level log yang sesuai.

Baca File Log dmesg

Setiap kali sistem boot, pesan dari buffer ring kernel disimpan di /var/log/dmesg mengajukan. dmesg perintah menunjukkan isi file log. Jika Anda mengalami masalah saat menggunakan dmesg perintah, buka file log dalam editor teks untuk melihat isinya.

Pada contoh di bawah, kita menggunakan perintah cat untuk melihat file log dan menyalurkannya ke grep untuk mencari string tertentu yang muncul di log:

cat dmesg | grep amd

Perintah mengeluarkan semua amd contoh string dalam file log.

Periksa Drive CD

Periksa apakah mesin jarak jauh dilengkapi dengan drive CD dengan memeriksa log pesan buffer. Misalnya, perintah berikut menampilkan semua pesan tentang perangkat CD yang diinisialisasi saat startup:

sudo dmesg | grep -iE 'cdrom|dvd|cd/rw|cd-rom'

Hasilnya menampilkan informasi tentang drive CD-ROM yang tersedia, termasuk drive CD-ROM virtual pada mesin ini.

Hapus Persyaratan Sudo

Menghapus persyaratan untuk hak pengguna super memungkinkan setiap pengguna untuk menjalankan dmesg dan melihat pesan buffer ring kernel. Jalankan perintah berikut untuk menghapus persyaratan sudo:

sudo sysctl -w kernel.dmesg_restrict=0

Setelah menyetel batasan ke 0 , setiap pengguna di sistem dapat menjalankan dmesg .


Ubuntu
  1. Cara menggunakan perintah grep Linux

  2. Cara menggunakan perintah history di Linux

  3. Cara Menggunakan Perintah Apt-Get di Linux

  1. Cara Menggunakan Perintah Sudo di Linux

  2. Cara Menggunakan Perintah nama host di Linux

  3. Cara Menggunakan Perintah Passwd Di Linux

  1. Cara Menggunakan Perintah dinding di Linux

  2. Cara Menggunakan Perintah Modprobe Di Linux

  3. Cara Menggunakan Perintah w di Linux dengan Contoh