7 polecenia „DMESG” do rozwiązywania problemów i zbierania informacji o systemach Linux

7 polecenia „DMESG” do rozwiązywania problemów i zbierania informacji o systemach Linux

''Dmesg„Polecenie wyświetla komunikaty z bufora pierścienia jądra. System przechodzi na wiele poziomów, z którego możemy uzyskać wiele informacji, takich jak architektura systemu, procesor, urządzenie dołączone, pamięć RAM itp. Gdy komputer się uruchamia, do pamięci ładuje się jądro (rdzeń systemu operacyjnego). W tym okresie wyświetlana jest liczba wiadomości, w których możemy zobaczyć urządzenia sprzętowe wykryte przez jądro.

Przeczytaj także: 10 poleceń Linux do gromadzenia informacji o systemie i sprzętu

Przykłady polecenia DMESG

Wiadomości są bardzo ważne pod względem celu diagnozowania w przypadku awarii urządzenia. Kiedy łączymy lub odłączamy urządzenie sprzętowe w systemie, za pomocą polecenia DMESG poznajemy wykryte lub odłączone informacje w locie. Dmesg Polecenie jest dostępne na większości Linux i Unix oparty na systemie operacyjnym.

Rzućmy trochę światła na najsłynniejsze narzędzie o nazwie „Dmesg” z ich praktycznymi przykładami, jak omówiono poniżej. Dokładna składnia DMESG w następujący sposób.

# dmseg [opcje…]

1. Wymień wszystkie załadowane sterowniki w jądrze

Możemy użyć narzędzi do manipulacji tekstu i.mi. 'więcej','ogon','mniej' Lub 'Grep„Z poleceniem DMESG. Ponieważ wyjście dziennika DMESG nie zmieści się na jednej stronie, użycie DMESG z rurą mniej więcej polecenie wyświetli dzienniki na jednej stronie.

[[e -mail chroniony] ~]# dmesg | Więcej [[e -mail chroniony] ~]# dmesg | mniej
Przykładowy wyjście
[0.000000] Inicjowanie CPUSET CGROUPSS [0.000000] Inicjowanie procesora CGroup Subsys [0.000000] Inicjowanie cgroup subsys CPUACCT [0.000000] Linux wersja 3.11.0-13-generalny ([chroniony e-mail]) (GCC wersja 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu8)) #20-ubuntu SMP Wed 23 października 17:26:33 UTC 2013 (Ubuntu 3.11.0-13.20-generalny 3.11.6) [0.000000] Procesy obsługiwane przez jądro: [0.000000] Intel orygineintel [0.000000] AMD Authenticamd [0.000000] NSC Geode według NSC [0.000000] Cyrix Cyrixinstead [0.000000] Centaur Centaurhauls [0.000000] transteta oryginetmx86 [0.000000] transteta transtecpu [0.000000] UMC UMC UMC [0.000000] E820: Mapa fizyczna pamięci pamięci RAM dostarczanej przez bio: [0.000000] BIOS-E820: [MEM 0x0000000000000000-0x000000000009fbff] użyteczne [0.000000] BIOS-E820: [MEM 0x00000000000F0000-0X00000000000FFFFF] zarezerwowany [0.000000] BIOS-E820: [MEM 0x000000000000100000-0x000000007dc08bff] użyteczne [0.000000] BIOS-E820: [MEM 0X000000007DC08C00-0X000000007DC5CBFF] ACPI NVS [0.000000] BIOS-E820: [MEM 0X000000007DC5CC00-0X000000007DC5EBFF] Dane ACPI [0.000000] BIOS-E820: [MEM 0x000000007DC5EC00-0X000000007FFFFFFF] [0.000000] BIOS-E820: [MEM 0X00000000E0000000-0X00000000EFFFFFFF] zarezerwowany [0.000000] BIOS-E820: [MEM 0X0000000000FEC00000-0X00000000FED003FF] zarezerwowany [0.000000] BIOS-E820: [MEM 0x0000000000FED20000-0X00000000FED9FFFF] zarezerwowany [0.000000] BIOS-E820: [MEM 0X00000000FEE00000-0X00000000FEEFFFFF] zarezerwowany [0.000000] BIOS-E820: [MEM 0X00000000FFB00000-0X0000000000FFFFFFFF] [0.000000] NX (Wykonaj wyłączenie) Ochrona: Active… 

Przeczytaj także: Skutecznie zarządzaj plikami Linux, używając głowicy poleceń, ogona i kota

2. Lista wszystkich wykrytych urządzeń

Aby dowiedzieć się, które dyski twarde zostały wykryte przez jądro, możesz wyszukać słowo kluczowe ”SDA" wraz z "Grep„Jak pokazano poniżej.

[[e -mail chroniony] ~]# dmesg | Grep SDA [1.280971] SD 2: 0: 0: 0: [SDA] 488281250 512-bajtowe bloki logiczne: (250 GB/232 GIB) [1.281014] SD 2: 0: 0: 0: [SDA] Zapisu jest wyłączone [1.281016] SD 2: 0: 0: 0: [SDA] Sensjanie trybu: 00 3a 00 00 [1.281039] SD 2: 0: 0: 0: [SDA] Napisz pamięć podręczną: włączona, odczyt pamięć podręczną: Włączone, nie obsługuje DPO ani FUA [1.359585] SDA: SDA1 SDA2 < SDA5 SDA6 SDA7 SDA8> [1.360052] SD 2: 0: 0: 0: [SDA] Załączony dysk SCSI [2.347887] ext4-FS (SDA1): zamontowany system plików z uporządkowanym trybem danych. Opts: (null) [22.928440] Dodanie 3905532k zamiana /dev /SDA6. Priorytet: -1 Zakres: 1 w całym: 3905532k FS [23.950543] ext4-FS (SDA1): ponownie zamontowany. Opts: błędy = remount-ro [24.134016] ext4-FS (SDA5): Zamontowany system plików z uporządkowanym trybem danych. Opts: (null) [24.330762] ext4-FS (SDA7): Zamontowany system plików z uporządkowanym trybem danych. Opts: (null) [24.561015] ext4-FS (SDA8): Zamontowany system plików z uporządkowanym trybem danych. Opts: (NULL)

NOTATKA: Pierwszy dysk twardy SATA „SDA”, „SDB” to drugi dysk twardy SATA i tak dalej. Wyszukaj za pomocą „HDA” lub „HDB” w przypadku dysku twardego IDE.

3. Wydrukuj tylko pierwsze 20 linii wyjściowych

„Głowa” wraz z DMESG pokaże linie początkowe I.mi. „Dmesg | Głowa -20 'wydrukuje tylko 20 linii z punktu początkowego.

[[e -mail chroniony] ~]# dmesg | głowa -20 [0.000000] Inicjowanie CPUSET CGROUPSS [0.000000] Inicjowanie procesora CGroup Subsys [0.000000] Inicjowanie cgroup subsys CPUACCT [0.000000] Linux wersja 3.11.0-13-generalny ([chroniony e-mail]) (GCC wersja 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu8)) #20-ubuntu SMP Wed 23 października 17:26:33 UTC 2013 (Ubuntu 3.11.0-13.20-generalny 3.11.6) [0.000000] Procesy obsługiwane przez jądro: [0.000000] Intel orygineintel [0.000000] AMD Authenticamd [0.000000] NSC Geode według NSC [0.000000] Cyrix Cyrixinstead [0.000000] Centaur Centaurhauls [0.000000] transteta oryginetmx86 [0.000000] transteta transtecpu [0.000000] UMC UMC UMC [0.000000] E820: Mapa fizyczna pamięci pamięci RAM dostarczanej przez bio: [0.000000] BIOS-E820: [MEM 0x0000000000000000-0x000000000009fbff] użyteczne [0.000000] BIOS-E820: [MEM 0x00000000000F0000-0X00000000000FFFFF] zarezerwowany [0.000000] BIOS-E820: [MEM 0x000000000000100000-0x000000007dc08bff] użyteczne [0.000000] BIOS-E820: [MEM 0X000000007DC08C00-0X000000007DC5CBFF] ACPI NVS [0.000000] BIOS-E820: [MEM 0X000000007DC5CC00-0X000000007DC5EBFF] Dane ACPI [0.000000] BIOS-E820: [MEM 0X000000007DC5EC00-0X000000007FFFFFFF]

4. Wydrukuj tylko ostatnie 20 linii wyjściowych

„Ogon” wraz z poleceniem DMESG wydrukuje tylko 20 ostatnich wierszy, jest to przydatne na wypadek, gdybyśmy wstawiamy urządzenie wymienne.

[[e -mail chroniony] ~]# dmesg | Ogon -20 Parport0: Style PC w 0x378, IRQ 7 [PCSPP, Tristate] PPDEV: Użytkownik-przestrzeg równoległy sterownik portu Ext4-FS (SDA1): Zamontowany system plików z uporządkowanym trybem danych dodając 2097144K SWAP ON /Dev /SDA2. Priorytet: -1 Zakres: 1 W całym: 2097144K Readhead-Disable-Service: Opóźnianie Auditd IP_TABLES: (C) 2000-2006 Netfilter Core Team NF_CONNTRACK Wersja 0.5.0 (16384 wiadra, 65536 MAX) NET: Zarejestrowany protokół Rodzina 10 LO: Wyłączone rozszerzenia prywatności E1000: ETH0 NIC Link jest w górę 1000 Mbps Pełny dupleks, Kontrola przepływu: Brak powolnej pracy puli wątków: Uruchomienie powolnej pracy puli wątków: Gotowy FS- Pamięć podręczna: Załadowane Cachefile: Załadowane Cachefefile: Bezpieczeństwo Odmowa uprawnień do nominowania Kontekstu bezpieczeństwa: Błąd -95 ETH0: Brak routerów IPv6 Obecne Typ = 1305 Audyt (1398268784.593: 18630): Audit_Enabled = 0 Old = 1 AUID = 4294967295 SES = 4294967295 RES = 1 Readhead-Collector: Rozpoczęcie opóźnionego Service Auditd ReadeAd-Collector: Sorting Readhead-Collector:

5. Wyszukiwanie wykryte urządzenie lub określony ciąg

Trudno jest przeszukać określony ciąg z powodu długości wyjścia DMESG. Tak więc filtruje linki z łańcuchem jak 'USB"DMA"tty' I 'pamięć„itp. Opcja „-i” instruuje polecenie GREP, aby zignorować skrzynkę (górne lub dolne litery przypadków).

[[chroniony e -mail] log]# dmesg | grep -i USB [[chroniony e -mail] log]# dmesg | grep -i dma [[chroniony e -mail] nt.com log]# dmesg | grep -i tty [[chroniony e -mail] log]# dmesg | Pamięć grep -i
Przykładowy wyjście
[0.000000] skanowanie 1 obszarów na niskie pamięć korupcja [0.000000] początkowe pamięć Mapowane: [MEM 0x00000000-0x01ffffff] [0.000000] baza pamięć trampolina w [C009B000] 9B000 Rozmiar 16384 [0.000000] init_pamięć_Mapping: [MEM 0x00000000-0x000fffff] [0.000000] init_pamięć_Mapping: [MEM 0x37800000-0x379fffff] [0.000000] init_pamięć_Mapping: [MEM 0x34000000-0x377fffff] [0.000000] init_pamięć_Mapping: [MEM 0x00100000-0x33ffffff] [0.000000] init_pamięć_Mapping: [MEM 0x37a00000-0x37bfdfff] [0.000000] wcześnie pamięć Zakresy węzłów [0.000000] PM: Zarejestrowany Nosave pamięć: [MEM 0x0009F000-0x000Effff] [0.000000] PM: Zarejestrowany Nosave pamięć: [MEM 0x000F0000-0x000fffff] [0.000000] Spróbuj „cgroup_disable =pamięć„Opcja, jeśli nie chcesz pamięć cgroups [0.000000] Pamięć: Dostępny 2003288K/2059928K (6352K Kernel, 607K RWDATA, 2640K Rodata, 880k Init, 908K BSS, 56640K zastrzeżony, 1146920k Highmem) [0.000000] wirtualne jądro pamięć Układ: [0.004291] inicjalizacja subsysów CGROUP pamięć [0.004609] Uwolnienie alternatyw SMP pamięć: 28K (C1A3E000 - C1A45000) [0.899622] Uwolnienie initrd pamięć: 23616K (F51D0000 - F68E0000) [0.899813] Skanowanie na niskie pamięć korupcja co 60 sekund [0.946323] AGPGART-Intel 0000: 00: 00.0: Wykryty 32768k skradziony pamięć [1.360318] Uwolnienie nieużywanego jądra pamięć: 880K (C1962000 - C1A3E000) [1.429066] [DRM] Pamięć użyteczne przez urządzenie graficzne = 2048m

6. Wyczyść dzienniki bufora DMESG

Tak, możemy wyczyścić dzienniki DMESG, jeśli to wymagane za pomocą poniższego polecenia. Wyczyści dzienniki komunikatów bufora pierścienia DMESG, dopóki nie wykonasz poniższego polecenia. Nadal możesz przeglądać dzienniki przechowywane w '/var/log/dmesg' akta. Jeśli podłączysz jakieś urządzenie wygeneruje wyjście DMESG.

[[chroniony e -mail] log]# dmesg -c

7. Monitorowanie DMESG w czasie rzeczywistym

Niektóre dystrybucje pozwala na polecenie „Tail -f/var/log/dmesg”.

[[chroniony e -mail] log]# Obejrzyj „dmesg | ogon -20”

Wniosek: Polecenie DMESG jest przydatne, ponieważ DMESG rejestruje wszystkie zmiany systemowe wykonane lub występują w czasie rzeczywistym. Jak zawsze możesz Man Dmesg Aby uzyskać więcej informacji.