Android

Dmesg-komento linuxissa

Sisällysluettelo:

Anonim

Linux-ydin on käyttöjärjestelmän ydin, joka ohjaa pääsyä järjestelmäresursseille, kuten CPU, I / O-laitteet, fyysinen muisti ja tiedostojärjestelmät. Ydin kirjoittaa erilaisia ​​viestejä ytimen rengaspuskuriin käynnistysprosessin aikana ja järjestelmän ollessa käynnissä. Nämä viestit sisältävät erilaisia ​​tietoja järjestelmän toiminnasta.

Ytimen rengaspuskuri on osa fyysistä muistia, joka sisältää ytimen lokisanomat. Sillä on kiinteä koko, mikä tarkoittaa, että puskuri on täynnä, vanhemmat lokitietueet korvataan.

dmesg komentoriviohjelmaa tulostetaan ja hallitaan ytimen rengaspuskuria Linuxissa ja muissa Unix-kaltaisissa käyttöjärjestelmissä. Se on hyödyllinen ytimen käynnistysviestien tutkimisessa ja laitteistoon liittyvien ongelmien vianetsinnässä.

Tässä opetusohjelmassa dmesg komennon perusteista.

dmesg komennon käyttäminen

dmesg komennon syntaksi on seuraava:

dmesg

Kun dmesg kutsutaan ilman vaihtoehtoja, dmesg kirjoittaa kaikki viestit ytimen rengaspuskurista tavanomaiseen tuotokseen:

dmesg

Oletusarvon mukaan kaikki käyttäjät voivat suorittaa dmesg komennon. Joissakin järjestelmissä dmesg käyttöoikeutta voidaan kuitenkin rajoittaa muille kuin pääkäyttäjille. Tässä tilanteessa, kun dmesg , saat seuraavanlaisen virhesanoman:

dmesg: read kernel buffer failed: Operation not permitted

kernel.dmesg_restrict määrittelee, voivatko yksityisoikeudettomat käyttäjät käyttää dmesg tiedostoa viesteihin ytimen lokipuskurista. Poista rajoitukset asettamalla se nollaan:

sudo sysctl -w kernel.dmesg_restrict=0

Yleensä lähtö sisältää paljon rivejä tietoa, joten vain viimeinen tulosteen osa on katseltavissa. Jos haluat nähdä yhden sivun kerrallaan, liitä tuloste hakulaiteohjelmaan, kuten less tai more :

dmesg --color=always | less

- --color=always käytetään --color=always värillisen tulosteen säilyttämiseen.

dmesg | grep -i usb

dmesg lukee ytimen tuottamat viestit /proc/kmsg virtuaalitiedostosta. Tämä tiedosto tarjoaa käyttöliittymän ytimen rengaspuskuriin ja voidaan avata vain yhdellä prosessilla. Jos syslog prosessi on käynnissä järjestelmässä ja yrität lukea tiedostoa cat tai less , komento jumittuu.

syslog daemon siirtää ytimen viestit hakemistoon /var/log/dmesg , joten voit käyttää myös tätä lokitiedostoa:

cat /var/log/dmesg

Dmesg- dmesg

dmesg komento tarjoaa useita vaihtoehtoja, jotka auttavat muotoilemaan ja suodattamaan tulosteen.

Yksi dmesg käytetyimmistä vaihtoehdoista on -H ( --human ), joka mahdollistaa ihmisille luettavan tulosteen. Tämä vaihtoehto liittää komentoulostimen hakulaitteeseen:

dmesg -H

Ihmisille luettavien aikaleimojen tulostamiseksi käytä -T (- --ctime ) -vaihtoehtoa:

dmesg -T

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

Aikaleimojen muoto voidaan asettaa myös --time-format vaihtoehto, joka voi olla ctime, reltime, delta, notime tai iso. Esimerkiksi kirjoittamasi delta-muodon käyttäminen:

dmesg --time-format=delta

Voit myös yhdistää kahta tai useampaa vaihtoehtoa:

dmesg -H -T

Jos haluat katsoa dmesg komennon tulosta reaaliajassa, käytä -w ( --follow ) -vaihtoehtoa:

dmesg --follow

dmesg suodatuksen suodatus

Voit rajoittaa dmesg tuotoksen tietyille tiloille ja tasoille.

Laite edustaa prosessia, joka loi viestin. dmesg tukee seuraavia lokipalveluita:

  • kern - ytimen viestit user - käyttäjätason viestit mail - postijärjestelmä daemon - järjestelmän daemonit auth - turva- / valtuutusviestit syslog - sisäiset syslogd-viestit lpr - tulostimen alijärjestelmän news - verkkouutisjärjestelmät

-f ( --facility ) -vaihtoehdon avulla voit rajoittaa tulosteen tietyissä tiloissa. Vaihtoehto hyväksyy yhden tai useamman pilkuilla erotetun toiminnon.

Esimerkiksi, jos haluat näyttää vain käyttämäsi ydin- ja järjestelmädeemoneiden viestit:

dmesg -f kern, daemon

Jokainen lokisanoma liitetään lokitason kanssa, joka osoittaa viestin tärkeyden. dmesg tukee seuraavia lokitasoja:

  • emerg - järjestelmä ei ole käyttökelpoinen alert - toiminta on ryhdyttävä heti crit - kriittiset olosuhteet virhe - emerg warn - varoitusolosuhteet notice - normaali, mutta merkitsevä tilan info - informatiivinen debug - virheenkorjaustasot

The -l (- --level ) -vaihtoehto rajoittaa tulosteen määriteltyihin tasoihin. Vaihtoehto hyväksyy yhden tai useamman pilkuilla erotetun tason.

Seuraava komento näyttää vain virheen ja kriittiset viestit:

dmesg -l err, crit

Rengaspuskurin tyhjennys

-C (- --clear ) -vaihtoehdon avulla voit tyhjentää rengaspuskurin:

sudo dmesg -C

Vain pääkäyttäjät tai käyttäjät, joilla on sudo-oikeudet, voivat tyhjentää puskurin.

Puskurin sisällön tulostaminen ennen tyhjennystä -c (- --read-clear ) -vaihtoehdolla:

sudo dmesg -c

dmesg > dmesg_messages

johtopäätös

dmesg komennon avulla voit tarkastella ja hallita ytimen rengaspuskuria. Se voi olla erittäin hyödyllinen, kun vianetsintään ydin- tai laitteisto-ongelmia.

Kirjoita man dmesg terminaaliin saadaksesi tietoja kaikista käytettävissä olevista dmesg vaihtoehdoista.

dmesg-ytimen pääte