GNU/Linux >> Znalost Linux >  >> Linux

Příkaz Dmesg v Linuxu

Linuxové jádro je jádrem operačního systému, který řídí přístup k systémovým prostředkům, jako je CPU, I/O zařízení, fyzická paměť a systémy souborů. Jádro zapisuje různé zprávy do kruhové vyrovnávací paměti jádra během procesu spouštění a při běhu systému. Tyto zprávy obsahují různé informace o provozu systému.

Kruhová vyrovnávací paměť jádra je část fyzické paměti, která obsahuje zprávy protokolu jádra. Má pevnou velikost, což znamená, že jakmile se vyrovnávací paměť zaplní, budou starší záznamy protokolů přepsány.

Soubor dmesg nástroj příkazového řádku se používá k tisku a ovládání kruhové vyrovnávací paměti jádra v Linuxu a dalších operačních systémech podobných Unixu. Je to užitečné pro zkoumání zaváděcích zpráv jádra a ladění problémů souvisejících s hardwarem.

V tomto tutoriálu probereme základy dmesg příkaz.

Použití dmesg Příkaz #

Syntaxe pro dmesg příkaz je následující:

dmesg [OPTIONS]

Při vyvolání bez jakýchkoli voleb dmesg zapisuje všechny zprávy z kruhové vyrovnávací paměti jádra na standardní výstup:

dmesg

Ve výchozím nastavení mohou všichni uživatelé spouštět dmesg příkaz. Na některých systémech však přístup k dmesg může být omezeno pro uživatele bez oprávnění root. V této situaci při vyvolání dmesg zobrazí se chybová zpráva jako níže:

dmesg: read kernel buffer failed: Operation not permitted

Parametr jádra kernel.dmesg_restrict určuje, zda mohou neprivilegovaní uživatelé používat dmesg pro zobrazení zpráv z vyrovnávací paměti protokolu jádra. Chcete-li omezení odstranit, nastavte jej na nulu:

sudo sysctl -w kernel.dmesg_restrict=0

Výstup obvykle obsahuje mnoho řádků informací, takže je zobrazitelná pouze poslední část výstupu. Chcete-li zobrazit jednu stránku po druhé, přesuňte výstup do obslužného programu pageru, jako je less nebo more :

dmesg --color=always | less

--color=always se používá k zachování barevného výstupu.

Pokud chcete filtrovat zprávy ve vyrovnávací paměti, použijte grep . Chcete-li například zobrazit pouze zprávy související s USB, zadejte:

dmesg | grep -i usb

dmesg čte zprávy generované jádrem z /proc/kmsg virtuální soubor. Tento soubor poskytuje rozhraní k vyrovnávací paměti jádra a lze jej otevřít pouze jedním procesem. Pokud syslog ve vašem systému běží proces a pokusíte se přečíst soubor pomocí cat , nebo less , příkaz se zablokuje.

syslog démon vypíše zprávy jádra do /var/log/dmesg , takže můžete také použít tento soubor protokolu:

cat /var/log/dmesg

Formátování dmesg Výstup #

Soubor dmesg poskytuje řadu možností, které vám pomohou formátovat a filtrovat výstup.

Jedna z nejpoužívanějších možností dmesg je -H (--human ), který umožňuje výstup čitelný pro člověka. Tato možnost vede výstup příkazu do pageru:

dmesg -H

Pro tisk časových razítek čitelných pro člověka použijte -T (--ctime ) možnost:

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

Formát časových razítek lze také nastavit pomocí --time-format <format> volba, která může být ctime, reltime, delta, notime nebo iso. Chcete-li například použít delta formát, zadejte:

dmesg --time-format=delta

Můžete také kombinovat dvě nebo více možností:

dmesg -H -T

Chcete-li sledovat výstup dmesg příkaz v reálném čase použijte -w (--follow ) možnost:

dmesg --follow

Filtrování dmesg Výstup #

dmesg můžete omezit výstup do daných zařízení a úrovní.

Zařízení představuje proces, který zprávu vytvořil. dmesg podporuje následující funkce protokolu:

  • kern - zprávy jádra
  • user - zprávy na uživatelské úrovni
  • mail - poštovní systém
  • daemon - systémové démony
  • auth - bezpečnostní/autorizační zprávy
  • syslog - interní zprávy syslogd
  • lpr - subsystém řádkové tiskárny
  • news - podsystém síťového zpravodajství

-f (--facility <list> ) umožňuje omezit výstup na konkrétní zařízení. Možnost přijímá jednu nebo více zařízení oddělených čárkami.

Chcete-li například zobrazit pouze zprávy jádra a systémových démonů, které byste použili:

dmesg -f kern,daemon

Každá zpráva protokolu je spojena s úrovní protokolu, která ukazuje důležitost zprávy. dmesg podporuje následující úrovně protokolu:

  • emerg - systém je nepoužitelný
  • alert - musí být okamžitě přijata opatření
  • crit - kritické stavy
  • err - chybové stavy
  • warn - výstražné podmínky
  • alert - normální, ale významný stav
  • info - informační
  • debug - zprávy na úrovni ladění

-l (--level <list> ) omezuje výstup na definované úrovně. Možnost přijímá jednu nebo více úrovní oddělených čárkami.

Následující příkaz zobrazí pouze chybové a kritické zprávy:

dmesg -l err,crit

Vymazání vyrovnávací paměti vyzvánění #

-C (--clear ) umožňuje vymazat vyrovnávací paměť vyzvánění:

sudo dmesg -C

Pouze root nebo uživatelé s právy sudo mohou vymazat vyrovnávací paměť.

Chcete-li před vymazáním vytisknout obsah vyrovnávací paměti, použijte -c (--read-clear ) možnost:

sudo dmesg -c

Pokud chcete uložit aktuální dmesg přihlásí soubor, než jej vymaže, přesměruje výstup do souboru:

dmesg > dmesg_messages

Závěr č.

Soubor dmesg umožňuje zobrazit a ovládat vyrovnávací paměť jádra. Může to být velmi užitečné při řešení problémů s jádrem nebo hardwarem.

Zadejte man dmesg ve vašem terminálu, kde najdete informace o všech dostupných dmesg možnosti.

Pokud máte nějaké dotazy nebo zpětnou vazbu, neváhejte zanechat komentář.


Linux
  1. Linuxový příkaz mv

  2. Linux du command

  3. Linuxový ip příkaz

  1. Příkaz dmesg pro Linux - Tisk kruhové vyrovnávací paměti jádra

  2. Linux cd příkaz

  3. Příklady příkazů dmesg v Linuxu

  1. Linux příkaz ifconfig

  2. Linux Time Command

  3. Příkaz Ping v Linuxu