Dmesg

dmesg (zkratka pro diagnostic message ) je  příkaz používaný v operačních systémech typu UNIX k výstupu vyrovnávací paměti zpráv jádra na standardní výstup ( stdout ) ( defaultně obrazovka ).

Příkaz

Na mnoha systémech podobných Unixu proces zavádění generuje obzvláště hustý proud zpráv jádra. Mnoho administrativních problémů přetrvává s úspěšným výčtem požadovaného hardwarového zařízení během procesu zavádění, takže proces diagnostiky neúspěšného zařízení často začíná kontrolou výstupu dmesg ze zprávy o identifikaci jádra, dokud se proces zavádění nedokončí. Protože tato vyrovnávací paměť může být přepsána proudem zpráv při další práci, mnoho unixových distribucí uchovává kopii vyrovnávací paměti po spuštění ve /var/log/dmesg nebo na nějakém jiném bezpečném systémovém umístění.

Je také běžné ručně přistupovat k aktuální vyrovnávací paměti dmesg po připojení zařízení za provozu, zejména zařízení USB (zejména flash disky), za účelem zjištění, zda bylo zařízení rozpoznáno, přenosové rychlosti příslušného portu (konektory USB 2 a USB 3.0 sedí) . vedle sebe a na mnoha systémech obtížně rozlišitelné), který ovladač byl přiřazen a kde v systému souborů se zařízení nachází. Mnoho distribucí se pokouší zobrazit zprávy o rozpoznání zařízení na ploše, často prostřednictvím vyskakovacího okna v horní části, ale to není vždy spolehlivé nebo poskytnuté informace jsou neúplné. (Aby bylo možné přijímat oznámení na ploše, zařízení vyměnitelné za běhu musí být povoleno zásadami zabezpečení systému.)

Mnoho řádků dmesg na tradičním systému začíná názvem zařízení, za kterým následuje dvojtečka a pak nějaký podrobný text. Často se shlukují, když se stejné zařízení objeví na více řádcích za sebou. Každý cluster je obvykle spojen s jedním výčtem zařízení, jedním konkrétním ovladačem zařízení (nebo nástrojem zařízení) spojeným s názvem zařízení.

Každý takový ovladač nebo objekt vytváří diagnostické informace ve vlastním zvoleném formátu a obvykle obsahuje všechny nejdůležitější technické detaily v hustém a tajemném zápisu. Manuální stránka spojená s ovladačem zařízení někdy dokumentuje formát zprávy. Například název zařízení da0 (přímý přístup SCSI 0) je běžný název zařízení spojený s jednotkami USB flash. man da na příkazovém řádku – bez koncového čísla – zobrazí dokumentaci pro danou třídu ovladačů na mnoha systémech. I když zde není popsán přesný formát řetězců zapsaných do systémové vyrovnávací paměti, parametry, které vás zajímají, jsou obvykle určeny, i když možná budete muset dále prostudovat příslušné manuálové stránky (uvedené ve spodní části tradiční manuálové stránky), abyste plně rozumět. Přehled pokrývající různé úrovně abstrakce hardwaru.

boot OS

Nejprve se do dmesg dostanou zprávy o nahrání jádra OS do paměti počítače. Stejně jako zprávy o stahování ovladačů pro příslušný hardware. Úroveň podrobnosti zprávy je řízena parametry zavaděče.

Po nabootování OS

I po úplném zavedení operačního systému může jádro zapisovat další diagnostické zprávy do protokolu, například když dojde k chybám I/O nebo když jsou připojena zařízení USB. dmesg poskytuje mechanismus pro následné zkoumání těchto zpráv.

Prezentace informací

Všechny zprávy dmesg zahrnují několik stránek, takže má smysl používat standardní nástroje pro manipulaci s textem, jako je more , tail , less nebo grep . Zprávy dmesg se často dostávají do systémového logu prostřednictvím logovacího démona, jako je syslog . Na systémech Linux se tento protokol obvykle nachází v /var/log.

Logo

Některé komerční operační systémy zobrazují při načítání jádra logo, díky kterému uživatel nevidí zprávy od jádra. Na některých systémech je však možné v tomto okamžiku přepnout z loga na zprávy dmesg pomocí klávesy 'Esc'. To je užitečné pro diagnostiku v případě chyby spouštění systému.

Některé argumenty (volby) nástroje dmesg

--decode, převádí číselnou hodnotu úrovní zatížení a provozních parametrů do srozumitelných textových poznámek

Filtrujte zprávy podle možností --facility a --level. Například:

dmesg --level=err,warn

dmesg --facility=démon,uživatel

dmesg --facility=daemon --level=debug

-u, --userspace pro zobrazení zpráv na uživatelské úrovni

-k, --kernel pro tisk zpráv na úrovni jádra

-t, --notime pro odstranění časových razítek z výstupu

-T, --ctime pro tisk času ve formátu podobném ctime(). Po použití a obnovení pohotovostního režimu je však tato klávesa k ničemu. (Pro printk() jádro po skončení pohotovostního režimu nepoužívá normální systémový čas, takže hodnoty času se nezmění.)

--show-delta pro zobrazení délky intervalu mezi zprávami [1]

-c Po výstupu vymaže obsah vyrovnávací paměti zpráv jádra.

-s [velikost vyrovnávací paměti] Použijte [velikost vyrovnávací paměti] pro vyrovnávací paměť zpráv jádra. Ve výchozím nastavení je jeho velikost 16392 bajtů.

-n [úroveň] - Nastavte úroveň, na které se budou zprávy syslog tisknout na konzoli.

Například -n 1 zabrání vytištění všech zpráv na konzoli kromě těch, které jsou zjevně alarmující.

-w, --follow - Čekat na nové zprávy. (jako tailf/tail -f)

Viz také

Poznámky

  1. Karel Žák. Změny dmesg(1) pro util-linux 2.20 (středa 20. července 2011). Datum přístupu: 7. ledna 2015. Archivováno z originálu 7. ledna 2015.

Odkazy