Android

Dmesg naredba u Linuxu

7 Using dmesg to read the kernel ring buffer

7 Using dmesg to read the kernel ring buffer

Sadržaj:

Anonim

Linux kernel je jezgra operativnog sustava koja kontrolira pristup resursima sustava, kao što su CPU, I / O uređaji, fizička memorija i datotečni sustavi. Kernel upisuje različite poruke u međuspremnik prstena kernel-a tijekom postupka dizanja i kada se sustav pokreće. Te poruke uključuju razne informacije o radu sustava.

Tampon prstena kernela dio je fizičke memorije koja sadrži kerneline zapise dnevnika. Ima fiksnu veličinu, što znači da se nakon što je međuspremnik pun, stariji zapisi u zapisnicima prepisuju.

Uslužni program dmesg naredbenog retka koristi se za ispis i kontrolu međuspremnika jezgre u Linuxu i ostalim operacijskim sustavima sličnim Unixu. Korisno je za ispitivanje kernel boot poruka i uklanjanje pogrešaka u vezi s hardverom.

U ovom ćemo udžbeniku dmesg osnove naredbe dmesg .

Korištenje dmesg naredbe

Sintaksa naredbe dmesg je sljedeća:

dmesg

Kada se poziva bez ikakvih opcija, dmesg upisuje sve poruke iz međuspremnika prstena jezgre na standardni izlaz:

dmesg

Svi korisnici mogu prema zadanom izvršavati naredbu dmesg . Međutim, na nekim sustavima pristup ne može biti ograničen za dmesg za korisnike koji nisu korijenski korisnici. U ovoj situaciji, kada pozivate dmesg dobit ćete poruku o pogrešci kao dolje:

dmesg: read kernel buffer failed: Operation not permitted

Parametar kernela kernel.dmesg_restrict određuje mogu li neprivilegirani korisnici koristiti dmesg za pregled poruka iz međuspremnika dnevnika jezgre. Da biste uklonili ograničenja, postavite ga na nulu:

sudo sysctl -w kernel.dmesg_restrict=0

Obično ishod sadrži puno redaka informacija, tako da se vidi samo posljednji dio izlaza. Da biste vidjeli jednu po jednu stranicu, izlazite na izlazni programski program kao što je less ili more :

dmesg --color=always | less

--color=always se koristi za očuvanje obojenog ispisa.

dmesg | grep -i usb

dmesg čita poruke koje generira kernel iz /proc/kmsg virtualne datoteke. Ova datoteka nudi sučelje za međuspremnik prstena jezgre i može se otvoriti samo jednim postupkom. Ako se na vašem sustavu pokreće syslog proces i pokušate pročitati datoteku s cat ili less , naredba će se zaustaviti.

Daemon syslog odlaže kernel poruke u /var/log/dmesg , tako da možete koristiti i ovu datoteku dnevnika:

cat /var/log/dmesg

Oblikovanje dmesg izlaza

Naredba dmesg pruža brojne mogućnosti koje vam pomažu u oblikovanju i filtriranju rezultata.

Jedna od najčešće korištenih opcija dmesg je -H ( --human ), što omogućava ljudskom čitljiv izlaz. Ovom opcijom slažete naredbeni izlaz u pager:

dmesg -H

Za ispis vremenskih oznaka razumljivih za ljude koristite opciju -T ( --ctime ):

dmesg -T

IPv6: ADDRCONF(NETDEV_CHANGE): wlp1s0: link becomes ready

Format vremenskih --time-format može se postaviti i pomoću --time-format opciju koja može biti ctime, reltime, delta, notime ili iso. Na primjer, za upotrebu delta formata utipkali biste:

dmesg --time-format=delta

Također možete kombinirati dvije ili više opcija:

dmesg -H -T

Za gledanje rezultata naredbe dmesg u stvarnom vremenu koristite opciju -w ( --follow ):

dmesg --follow

Filtriranje dmesg izlaza

Možete ograničiti dmesg izlaz na određene sadržaje i razine.

Objekt predstavlja proces koji je stvorio poruku. dmesg podržava sljedeće sadržaje dnevnika:

  • kern - kernel poruke user - poruke na razini korisnika mail - sustav mail -pošte daemon - sustav daemons auth - sigurnosna / autorizacijska poruka syslog - unutarnja syslogd poruka lpr - line printer podsistem news - mrežni podsistem vijesti

-f (- --facility ) Opcija omogućuje ograničavanje izlaza na određene objekte. Ova opcija prihvaća jedan ili više objekata odvojenih zarezima.

Na primjer, za prikaz samo kernel i sistemskih demonskih poruka koje biste koristili:

dmesg -f kern, daemon

Svaka poruka dnevnika povezana je s razinom dnevnika koji pokazuje važnost poruke. dmesg podržava sljedeće razine zapisa:

  • emerg - sustav je neupotrebljiv, alert - odmah treba poduzeti kritične kriterije - pogreška warn pogreške - obavijest o uvjetima notice - normalne, ali značajne info stanju - informativni debug - poruke na razini ispravke

Razina -l ( --level ) Opcija ograničava izlaz na definirane razine. Ova opcija prihvaća jednu ili više razina odvojenih zarezima.

Sljedeća naredba prikazuje samo pogreške i kritične poruke:

dmesg -l err, crit

Čišćenje odvodnika prstena

Opcija -C ( --clear ) omogućuje vam uklanjanje međuspremnika zvona:

sudo dmesg -C

Samo korijen ili korisnici s sudo povlasticama mogu očistiti međuspremnik.

Za ispis sadržaja međuspremnika prije čišćenja koristite opciju -c ( --read-clear ):

sudo dmesg -c

dmesg > dmesg_messages

Zaključak

Naredba dmesg omogućuje vam pregled i nadzor međuspremnika prstena jezgre. To može biti vrlo korisno za rješavanje problema s kernelom ili hardverom.

Upišite man dmesg u terminal kako biste dobili informacije o svim dostupnim opcijama dmesg a.

dmesg kernel terminal