7 'DMESG' -Befehle zur Fehlerbehebung und Sammeln von Informationen von Linux -Systemen

7 'DMESG' -Befehle zur Fehlerbehebung und Sammeln von Informationen von Linux -Systemen

Der 'dmesgDer Befehl zeigt die Nachrichten aus dem Kernel -Ringpuffer an. Ein System übergibt mehrere Runlevel, von wo aus wir viele Informationen wie Systemarchitektur, CPU, angehängte Geräte, RAM usw. erhalten können. Wenn Computer auf den Markt startet, wird ein Kernel (Kern eines Betriebssystems) in den Speicher geladen. Während dieser Zeit werden die Anzahl der Nachrichten angezeigt, bei denen Hardwaregeräte vom Kernel erkannt werden können.

Lesen Sie auch: 10 Linux -Befehle zum Sammeln von System- und Hardwareinformationen

DMESG -Befehlsbeispiele

Die Nachrichten sind im Hinblick auf den Diagnosezweck im Falle eines Gerätefehlers sehr wichtig. Wenn wir das Hardware -Gerät auf dem System anschließen oder trennen, erfahren wir mithilfe des DMESG. Der dmesg Der Befehl ist an den meisten verfügbar Linux und Unix basiertes Betriebssystem.

Lassen Sie uns mit ihren praktischen Beispielen, wie unten erläutert. Die genaue Syntax von DMESG wie folgt.

# DMSEG [Optionen…]

1. Listen Sie alle geladenen Treiber im Kernel auf

Wir können Text-Manipulation-Tools verwenden i.e. ''mehr',' 'Schwanz',' 'weniger' oder 'Grep'Mit DMESG -Befehl. Wenn die Ausgabe des DMESG -Protokolls nicht auf eine einzelne Seite passt. Wenn Sie DMESG mit Pipe mehr oder weniger befehlen, werden Protokolle in einer einzelnen Seite angezeigt.

[[E -Mail geschützt] ~]# DMESG | Mehr [[E -Mail geschützt] ~]# DMESG | weniger
Probenausgabe
[0.000000] Initialisieren von CGroup Subsys CPUSET [0.000000] Initialisierung der CGGroup -Subsys CPU [0.000000] Initialisieren von CGroup Subsys CPUACCT [0.000000] Linux Version 3.11.0-13-generisch ([E-Mail geschützt]) (GCC Version 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu8)) #20-Ubuntu SMP Mi 2 23. Oktober 17:26:33 UTC 2013 (Ubuntu 3.11.0-13.20-generisch 3.11.6) [0.000000] Kernel unterstützte CPUs: [0.000000] Intel echtintelintel [0.000000] AMD Authenticamd [0.000000] NSC Geode von NSC [0).000000] Cyrix Cyrixinstead [0.000000] Centaur Centaurhauls [0.000000] transmeta estinETMX86 [0.000000] transmeta transmetacpu [0.000000] UMC UMC UMC UMC [0.000000] E820: BIOS-bereitgestellter physischer RAM-Karte: [0.000000] BIOS-E820: [MEM 0x00000000000000-0x0000000009FBFF] Usable [0 0).000000] BIOS-E820: [MEM 0x000000000F0000-0X000000000FFFFF] Reserviert [0.000000] BIOS-E820: [MEM 0x0000000000100000-0x000000007DC08BFF] Usable [0.000000] BIOS-E820: [MEM 0x000000007DC08C00-0X000000007DC5CBFF] ACPI NVS [0 0).000000] BIOS-E820: [MEM 0x000000007DC5CC00-0X000000007DC5EBFF] ACPI-Daten [0.000000] BIOS-E820: [MEM 0x000000007DC5EC00-0X000000007FFFFFFF] Reserviert [0.000000] BIOS-E820: [MEM 0x00000000E00000-0X00000000FFFFFF] Reserviert [0.000000] BIOS-E820: [MEM 0x00000000FEC00000-0X00000000FED003FF] Reserviert [0.000000] BIOS-E820: [MEM 0x00000000FED20000-0X00000000FED9FFFF] Reserviert [0.000000] BIOS-E820: [Mem 0x00000000Fee00000-0x00000000Feefffff] Reserviert [0.000000] BIOS-E820: [MEM 0x000000FFB00000-0X000000FFFFFFFF] Reserviert [0.000000] NX (Deaktivieren Sie Deaktivierung) Schutz: Aktiv… 

Lesen Sie auch: Verwalten Sie Linux -Dateien effektiv mit Befehlskopf, Schwanz und Katze

2. Listen Sie alle erkannten Geräte auf

Um herauszufinden, welche Festplatten von Kernel erkannt wurden, können Sie nach dem Keyword suchen “SDA" zusammen mit "Grep”Wie unten gezeigt.

[[E -Mail geschützt] ~]# DMESG | Grep SDA [1.280971] SD 2: 0: 0: 0: [SDA] 488281250 512-byte logische Blöcke: (250 GB/232 GIB) [1.281014] SD 2: 0: 0: 0: [SDA] Schreiben Sie Schutz ist ausgeschaltet [1.281016] SD 2: 0: 0: 0: [SDA] Modus Sinn: 00 3a 00 00 [1.281039] SD 2: 0: 0: 0: [SDA] Cache schreiben: aktiviert, Cache lesen: aktiviert, unterstützt DPO oder FUA nicht [1.359585] SDA: SDA1 SDA2 < SDA5 SDA6 SDA7 SDA8> [1.360052] SD 2: 0: 0: 0: [SDA] Beigefügt SCSI -Scheibe [2.347887] ext4-fs (SDA1): Bergter Dateisystem mit dem geordneten Datenmodus. Opts: (null) [22.928440] Hinzufügen von 3905532k Swap on /dev /SDA6. Priorität: -1 Ausdehnung: 1 über: 3905532K FS [23.950543] ext4-fs (SDA1): erneut montiert. OPTs: Fehler = Remount-RO [24.134016] ext4-fs (SDA5): Bergter Dateisystem mit dem geordneten Datenmodus. Opts: (null) [24.330762] ext4-fs (SDA7): Bergter Dateisystem mit dem geordneten Datenmodus. Opts: (null) [24.561015] ext4-fs (SDA8): Bergter Dateisystem mit dem bestellten Datenmodus. Opts: (null)

NOTIZ: Die 'SDA' erste Sata -Festplatte, 'SDB' ist die zweite SATA -Festplatte und so weiter. Suche mit 'HDA' oder 'HDB' im Fall einer IDE -Festplatte.

3. Drucken Sie nur die ersten 20 Ausgangszeilen

Der "Kopf" zusammen mit DMESG zeigt Startlinien i.e. 'dmesg | Head -20 'druckt nur 20 Zeilen vom Startpunkt aus.

[[E -Mail geschützt] ~]# DMESG | Kopf -20 [0.000000] Initialisieren von CGroup Subsys CPUSET [0.000000] Initialisierung der CGGroup -Subsys CPU [0.000000] Initialisieren von CGroup Subsys CPUACCT [0.000000] Linux Version 3.11.0-13-generisch ([E-Mail geschützt]) (GCC Version 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu8)) #20-Ubuntu SMP Mi 2 23. Oktober 17:26:33 UTC 2013 (Ubuntu 3.11.0-13.20-generisch 3.11.6) [0.000000] Kernel unterstützte CPUs: [0.000000] Intel echtintelintel [0.000000] AMD Authenticamd [0.000000] NSC Geode von NSC [0).000000] Cyrix Cyrixinstead [0.000000] Centaur Centaurhauls [0.000000] transmeta estinETMX86 [0.000000] transmeta transmetacpu [0.000000] UMC UMC UMC UMC [0.000000] E820: BIOS-bereitgestellter physischer RAM-Karte: [0.000000] BIOS-E820: [MEM 0x00000000000000-0x0000000009FBFF] Usable [0 0).000000] BIOS-E820: [MEM 0x000000000F0000-0X000000000FFFFF] Reserviert [0.000000] BIOS-E820: [MEM 0x0000000000100000-0x000000007DC08BFF] Usable [0.000000] BIOS-E820: [MEM 0x000000007DC08C00-0X000000007DC5CBFF] ACPI NVS [0 0).000000] BIOS-E820: [MEM 0x000000007DC5CC00-0X000000007DC5EBFF] ACPI-Daten [0.000000] BIOS-E820: [MEM 0x000000007DC5ec00-0x000000007FFFFFFF] Reserviert

4. Drucken Sie nur die letzten 20 Ausgangszeilen

Der Befehl "Schwanz" zusammen mit dem DMESG -Befehl druckt nur 20 letzte Zeilen. Dies ist nützlich, falls wir ein entfernbares Gerät einfügen können.

[[E -Mail geschützt] ~]# DMESG | Tail -20 Parport0: PC-Stil bei 0x378, IRQ 7 [PCSPP, Tristate] PPDEV: Benutzer-Space Parallel Port-Treiber ext4-fs (SDA1): Mounted Dateisystem mit dem geordneten Datenmodus Addieren Sie 2097144K Swap auf /dev /sda2. Priorität: -1 Ausmaß: 1 über: 2097144K Readahead-disable-service: verzögertes Dienst Auditd IP_TABLE: (c) 2000-2006 Netfilter Core Team NF_ConnTrack Version 0.5.0. Cache: geladene Nutzstoffdefile: geladene Lebenshaltungssteuer: Sicherheit verweigert die Berechtigung, den Sicherheitskontext zu nominieren: Fehler -95 ETH0: Keine IPv6 -Router präsentieren Typ = 1305 Audit (1398268784.593: 18630): audit_enabled = 0 alt = 1 AUID = 4294967295 SES = 4294967295 res = 1 Readahead-Collector: Startverzögerte Service Auditd Readahead-Collector: Sortieren von Readahead-Collektor: fertig

5. Suchen erkanntes Gerät oder eine bestimmte Zeichenfolge

Es ist schwierig, eine bestimmte Zeichenfolge aufgrund der DMESG -Ausgabe zu durchsuchen. Also filtern Sie die Linien mit String -Like 'USB"DMA"tty' Und 'Speicher' usw. Die Option '-i' weist den Befehl Grep an, den Fall zu ignorieren (obere oder untere Fallbuchstaben).

[[E -Mail geschützt] log]# DMESG | grep -i USB [[E -Mail geschützt] log]# DMESG | Grep -i DMA [[E -Mail geschützt] nt.com log]# dmesg | grep -i tty [[E -Mail geschützt] log]# dmesg | Grep -I -Gedächtnis
Probenausgabe
[0.000000] Scannen 1 Bereiche für niedrig Speicher Korruption [0.000000] Initial Speicher Zugeordnet: [Mem 0x00000000-0x01ffffff] [0 0).000000] Basis Speicher Trampolin bei [C009B000] 9B000 Größe 16384 [0.000000] init_Speicher_mapping: [mem 0x00000000-0x000fffff] [0.000000] init_Speicher_mapping: [mem 0x37800000-0x379fffff] [0 0.000000] init_Speicher_mapping: [mem 0x34000000-0x377fffff] [0 0.000000] init_Speicher_mapping: [mem 0x00100000-0x33ffffff] [0 0).000000] init_Speicher_mapping: [mem 0x37a00000-0x37bfdfff] [0 0).000000] früh Speicher Knotenbereiche [0.000000] PM: Registrierte Nosave Speicher: [mem 0x0009f000-0x000effff] [0 0).000000] PM: Registrierte Nosave Speicher: [mem 0x000f0000-0x000fffff] [0 0.000000] Bitte versuchen Sie 'cgroup_disable =Speicher'Option, wenn Sie nicht wollen Speicher CGROUPS [0.000000] Speicher: 2003288K/2059928K verfügbar (6352K Kernel Code, 607K RWData, 2640K Rodata, 880k Init, 908K BSS, 56640K Reserviert, 1146920K HIGHMEM) [0 0.000000] Virtueller Kernel Speicher Layout: [0.004291] Initialisieren von CGroup -Subsys Speicher [0.004609] SMP -Alternativen befreien Speicher: 28K (C1A3E000 - C1A45000) [0 0).899622] Freeing Initrd Speicher: 23616K (F51D0000 - F68E0000) [0.899813] nach niedrig scannen Speicher Korruption alle 60 Sekunden [0.946323] Agpgart-Intel 0000: 00: 00.0: Erfasst 32768K gestohlen Speicher [1.360318] Befreiung unbenutzter Kernel Speicher: 880k (C1962000 - C1A3E000) [1.429066] [DRM] Speicher Nutzbar von Graphics Device = 2048m

6. DMESG -Pufferprotokolle löschen

Ja, wir können DMESG -Protokolle löschen, wenn dies mit dem folgenden Befehl erforderlich ist. Es werden DMESG -Ring -Puffer -Nachrichtenprotokolle gelöscht, bis Sie den folgenden Befehl ausgeführt haben. Sie können trotzdem Protokolle anzeigen, die in 'gespeichert sind/var/log/dmesg'Dateien. Wenn Sie ein Gerät anschließen.

[[E -Mail geschützt] log]# dmesg -c

7. Überwachung von DMESG in Echtzeit

Einige Distros ermöglichen den Befehl 'Tail -f/var/log/dmesg' sowie für die DMESG -Überwachung in Echtzeit.

[[E -Mail geschützt] log]# Watch "DMESG | Tail -20"

Abschluss: Der Befehl dmesg ist nützlich, da DMESG alle Systemänderungen aufzeichnet oder in Echtzeit erfolgen. Wie immer kannst du Mann dmesg Weitere Informationen erhalten.