Android

Dmesg parancs a linuxban

7 Using dmesg to read the kernel ring buffer

7 Using dmesg to read the kernel ring buffer

Tartalomjegyzék:

Anonim

A Linux kernel az operációs rendszer magja, amely ellenőrzi a hozzáférést a rendszer erőforrásaihoz, például CPU, I / O eszközök, fizikai memória és fájlrendszerek. A kernel különféle üzeneteket ír a kernel gyűrűs pufferébe a rendszerindítási folyamat során és a rendszer futásakor. Ezek az üzenetek különféle információkat tartalmaznak a rendszer működéséről.

A kernelgyűrű-puffer a fizikai memória egy része, amely a kernel naplóüzeneteit tárolja. Rögzített méretű, azaz ha a puffer megtelt, a régebbi naplórekordok felülírásra kerülnek.

A dmesg parancssori segédprogramot használja a kernel gyűrűs puffer kinyomtatására és vezérlésére Linuxban és más Unix-szerű operációs rendszerekben. Hasznos a rendszermag rendszerindító üzeneteinek vizsgálatához és a hardverrel kapcsolatos problémák hibakereséséhez.

Ebben az oktatóanyagban a dmesg parancs alapjait ismertetjük.

A dmesg parancs használata

A dmesg parancs szintaxisa a következő:

dmesg

Opciók nélküli meghívás esetén a dmesg összes üzenetet a kernel gyűrűs pufferéről a normál kimenetre írja:

dmesg

Alapértelmezés szerint minden felhasználó futtathatja a dmesg parancsot. Bizonyos rendszerekben azonban a nem root felhasználók számára korlátozott lehet a dmesg hozzáférése. Ebben az esetben a dmesg meghívásakor az alábbi hibaüzenet jelenik meg:

dmesg: read kernel buffer failed: Operation not permitted

A kernel.dmesg_restrict meghatározza, hogy a nem kernel.dmesg_restrict felhasználók használhatják-e a dmesg az üzenetek megtekintéséhez a kernel kernel.dmesg_restrict . A korlátozások eltávolításához állítsa nullára:

sudo sysctl -w kernel.dmesg_restrict=0

Általában a kimenet sok információs sort tartalmaz, tehát csak a kimenet utolsó része látható. Ha egyszerre egy oldalt szeretne látni, akkor tegye a kimenetet egy pager-segédprogramra, például less vagy more :

dmesg --color=always | less

A --color=always a színes kimenet megőrzésére szolgál.

dmesg | grep -i usb

dmesg a kernel által generált üzeneteket olvassa be a /proc/kmsg virtuális fájlból. Ez a fájl interfészt biztosít a kernel gyűrűs pufferéhez, és csak egy folyamat nyitható meg. Ha a syslog folyamat fut a rendszeren, és megpróbálja olvasni a fájlt cat , vagy less , akkor a parancs lefagy.

A syslog démon a kernel üzeneteket a /var/log/dmesg mappába /var/log/dmesg , így a naplófájlt is felhasználhatja:

cat /var/log/dmesg

A dmesg kimenet formázása

A dmesg parancs számos lehetőséget kínál, amelyek segítenek a kimenet formázásában és szűrésében.

A dmesg egyik leggyakrabban használt lehetősége a -H ( --human ), amely lehetővé teszi az emberi olvashatóságot. Ez az opció a parancs kimenetét továbbítja egy személyhívóba:

dmesg -H

Az ember által olvasható időbélyeg nyomtatásához használja a -T ( --ctime ) opciót:

dmesg -T

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

Az időbélyeg-formátumot a --time-format is beállíthatjuk opció, amely lehet ctime, reltime, delta, notime vagy iso. Például a delta formátum használatához írja be:

dmesg --time-format=delta

Két vagy több lehetőséget is kombinálhat:

dmesg -H -T

A dmesg parancs kimenetének valós időben történő megtekintéséhez használja a -w ( --follow ) opciót:

dmesg --follow

Szűrés dmesg kimenet

A dmesg kimenetet megadott eszközökre és szintekre korlátozhatja.

A létesítmény az üzenetet létrehozó folyamatot képviseli. dmesg a következő naplózási lehetőségeket támogatja:

  • kern - kernel üzenetek user - felhasználói szintű üzenetek e- mail - mail rendszer daemon - rendszer démonok auth - biztonsági / engedélyezési üzenetek syslog - belső syslogd üzenetek lpr - nyomtató alrendszer news - hálózati hírek alrendszer

A -f (- --facility ) opcióval korlátozhatja a kimenetet meghatározott eszközökre. Az opció elfogad egy vagy több vesszővel elválasztott objektumot.

Például, ha csak azokat a kernel- és rendszerdémon-üzeneteket szeretné megjeleníteni, amelyeket használni szeretne:

dmesg -f kern, daemon

Minden naplóüzenet egy naplószinthez van társítva, amely megmutatja az üzenet fontosságát. dmesg a következő naplózási szinteket támogatja:

  • emerg - a rendszer használhatatlan alert - azonnal meg kell tenni a kritikát - kritikus feltételek err - hibaállapotok warn - figyelmeztetési feltételek notice - normál, de jelentős info - információs debug - hibakeresési szintű üzenetek

A -l (- --level ) opció korlátozza a kimenetet meghatározott szintekre. Az opció elfogad egy vagy több vesszővel elválasztott szintet.

A következő parancs csak a hibát és a kritikus üzeneteket jeleníti meg:

dmesg -l err, crit

A csengő puffer törlése

A -C ( --clear ) opció lehetővé teszi a gyűrűs puffer törlését:

sudo dmesg -C

Csak a root vagy a sudo jogosultságokkal rendelkező felhasználók törölhetik a puffert.

A puffer tartalmának törlése előtti kinyomtatásához használja a -c ( --read-clear ) opciót:

sudo dmesg -c

dmesg > dmesg_messages

Következtetés

A dmesg parancs lehetővé teszi a kernel gyűrűs pufferének megtekintését és vezérlését. Nagyon hasznos lehet kernel- vagy hardverproblémák elhárításához.

Írja be a man dmesg a terminálra, hogy információt dmesg az összes elérhető dmesg opcióról.

dmesg kernel terminál