Perintah 7 'DMESG' untuk menyelesaikan masalah dan mengumpul maklumat sistem Linux

Perintah 7 'DMESG' untuk menyelesaikan masalah dan mengumpul maklumat sistem Linux

'DMESG'Perintah memaparkan mesej dari penampan cincin kernel. Sistem melewati pelbagai runlevel dari mana kita boleh mendapatkan banyak maklumat seperti seni bina sistem, CPU, peranti yang dilampirkan, RAM dll. Apabila kasut komputer naik, kernel (teras sistem operasi) dimuatkan ke dalam memori. Dalam tempoh itu bilangan mesej dipaparkan di mana kita dapat melihat peranti perkakasan yang dikesan oleh kernel.

Baca juga: 10 Perintah Linux untuk mengumpulkan maklumat sistem dan perkakasan

Contoh perintah DMESG

Mesej sangat penting dari segi mendiagnosis tujuan sekiranya kegagalan peranti. Semasa kami menyambung atau memutuskan sambungan peranti perkakasan pada sistem, dengan bantuan perintah dmesg kami dapat mengetahui maklumat yang dikesan atau terputus dengan cepat. The DMESG Perintah boleh didapati di kebanyakan Linux dan Unix sistem operasi berasaskan.

Mari kita buang sedikit cahaya pada alat paling terkenal yang disebut perintah 'dmesg' dengan contoh praktikal mereka seperti yang dibincangkan di bawah. Sintaks tepat dmesg seperti berikut.

# dmseg [pilihan ...]

1. Senaraikan semua pemandu yang dimuatkan dalam kernel

Kita boleh menggunakan alat manipulasi teks i.e. 'lebih','ekor','kurang'Atau'grep'Dengan perintah dmesg. Oleh kerana output log dmesg tidak akan sesuai pada satu halaman, menggunakan dmesg dengan paip lebih atau kurang arahan akan memaparkan log dalam satu halaman.

[[E -mel dilindungi] ~]# dmesg | lebih banyak [[dilindungi e -mel] ~]# dmesg | kurang
Output sampel
[0.000000] Inisiasi cpuset subsys cgroup [0.000000] Inisiasi CGROUP Subsys CPU [0.000000] memulakan cgroup subsys cpuacct [0.000000] Linux Versi 3.11.0-13-generik ([dilindungi e-mel]) (GCC Versi 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu8)) #20-Ubuntu SMP Wed 23 Okt 17:26:33 UTC 2013 (Ubuntu 3.11.0-13.20-generik 3.11.6) [0.000000] kernel disokong CPU: [0.000000] Intel Genuineintel [0.000000] AMD Authenticamd [0.000000] NSC Geode oleh NSC [0.000000] Cyrix CyrixInstead [0.000000] Centaur Centaurhauls [0.000000] transmeta genuinetmx86 [0.000000] transmetacpu transmeta [0.000000] UMC UMC UMC UMC [0.000000] E820: peta ram fizikal yang disediakan bios: [0.000000] BIOS-E820: [MEM 0x0000000000000000-0x00000000000009FBFF] Guna [0.000000] BIOS-E820: [MEM 0x00000000000F0000-0X0000000000000FFFFF] Reserved [0.000000] BIOS-E820: [Mem 0x000000000000100000-0x0000000000007DC08BFF] Guna [0.000000] BIOS-E820: [MEM 0x000000007DC08C00-0X00000000007DC5CBFF] ACPI NVS [0.000000] BIOS-E820: [MEM 0x000000007DC5CC00-0X00000000007DC5EBFF] Data ACPI [0.000000] BIOS-E820: [MEM 0x000000007DC5EC00-0X00000000007FFFFFF] Reserved [0.000000] BIOS-E820: [MEM 0x00000000E0000000-0X0000000000EFFFFFFF] Reserved [0.000000] BIOS-E820: [MEM 0x00000000FEC00000-0X000000000000FED003FF] Reserved [0.000000] BIOS-E820: [MEM 0x00000000FED20000-0X000000000000FED9FFFF] Reserved [0.000000] BIOS-E820: [MEM 0x00000000FEE00000-0X000000000000FEEFFFFF] Reserved [0.000000] BIOS-E820: [Mem 0x00000000FFB00000-0x0000000000fffffff] Reserved [0.000000] NX (melaksanakan melumpuhkan) Perlindungan: Aktif .. 

Baca juga: Mengurus fail linux dengan berkesan menggunakan kepala, ekor dan kucing arahan

2. Senaraikan semua peranti yang dikesan

Untuk mengetahui cakera keras mana yang telah dikesan oleh kernel, anda boleh mencari kata kunci "SDA" bersama dengan "grep"Seperti ditunjukkan di bawah.

[[E -mel dilindungi] ~]# dmesg | grep sda [1.280971] SD 2: 0: 0: 0: [SDA] 488281250 512-byte Blok logik: (250 GB/232 GIB) [1.281014] SD 2: 0: 0: 0: [SDA] Tulis perlindungan dimatikan [1.281016] SD 2: 0: 0: 0: [SDA] Sense Mod: 00 3A 00 00 [1.281039] SD 2: 0: 0: 0: [SDA] Tulis cache: diaktifkan, baca cache: didayakan, tidak menyokong DPO atau FUA [1.359585] SDA: SDA1 SDA2 < SDA5 SDA6 SDA7 SDA8> [1.360052] SD 2: 0: 0: 0: [SDA] Cakera SCSI yang dilampirkan [2.347887] ext4-fs (SDA1): Sistem fail yang dipasang dengan mod data yang diperintahkan. Memilih: (null) [22.928440] Menambah Swap 3905532K ON /DEV /SDA6. Keutamaan: -1 Extents: 1 di seluruh: 3905532K FS [23.950543] ext4-fs (SDA1): dipasang semula. Memilih: Kesalahan = Remount-ro [24.134016] ext4-fs (SDA5): Sistem fail yang dipasang dengan mod data yang diperintahkan. Memilih: (null) [24.330762] ext4-fs (SDA7): Sistem fail yang dipasang dengan mod data yang diperintahkan. Memilih: (null) [24.561015] ext4-fs (SDA8): Sistem fail yang dipasang dengan mod data yang diperintahkan. Memilih: (null)

CATATAN: 'Sda' sata cakera keras pertama, 'sdb' adalah pemacu keras SATA kedua dan sebagainya. Cari dengan 'hda' atau 'hdb' dalam kes cakera keras IDE.

3. Cetak hanya 20 baris output pertama

'Kepala' bersama dengan dmesg akan menunjukkan baris permulaan i.e. 'dmesg | kepala -20 'akan mencetak hanya 20 baris dari titik permulaan.

[[E -mel dilindungi] ~]# dmesg | kepala -20 [0.000000] Inisiasi cpuset subsys cgroup [0.000000] Inisiasi CGROUP Subsys CPU [0.000000] memulakan cgroup subsys cpuacct [0.000000] Linux Versi 3.11.0-13-generik ([dilindungi e-mel]) (GCC Versi 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu8)) #20-Ubuntu SMP Wed 23 Okt 17:26:33 UTC 2013 (Ubuntu 3.11.0-13.20-generik 3.11.6) [0.000000] kernel disokong CPU: [0.000000] Intel Genuineintel [0.000000] AMD Authenticamd [0.000000] NSC Geode oleh NSC [0.000000] Cyrix CyrixInstead [0.000000] Centaur Centaurhauls [0.000000] transmeta genuinetmx86 [0.000000] transmetacpu transmeta [0.000000] UMC UMC UMC UMC [0.000000] E820: peta ram fizikal yang disediakan bios: [0.000000] BIOS-E820: [MEM 0x0000000000000000-0x00000000000009FBFF] Guna [0.000000] BIOS-E820: [MEM 0x00000000000F0000-0X0000000000000FFFFF] Reserved [0.000000] BIOS-E820: [Mem 0x000000000000100000-0x0000000000007DC08BFF] Guna [0.000000] BIOS-E820: [MEM 0x000000007DC08C00-0X00000000007DC5CBFF] ACPI NVS [0.000000] BIOS-E820: [MEM 0x000000007DC5CC00-0X00000000007DC5EBFF] Data ACPI [0.000000] BIOS-E820: [MEM 0x000000007DC5EC00-0X00000000007FFFFFF]

4. Cetak hanya 20 baris output terakhir

'Ekor' bersama dengan arahan DMESG akan mencetak hanya 20 baris terakhir, ini berguna sekiranya kita memasukkan peranti boleh tanggal.

[[E -mel dilindungi] ~]# dmesg | Ekor -20 Parport0: Gaya PC pada 0x378, IRQ 7 [PCSPP, Tristate] PPDEV: Pemandu Port Parallel Pemandu Ext4-FS (SDA1). Keutamaan: -1 Extents: 1 di seluruh: 2097144K Readahead-Disable-Service: Menunda Perkhidmatan Auditd IP_Tables: (c) 2000-2006 Pasukan Teras Netfilter NF_Conntrack Versi 0.5.0 (16384 baldi, 65536 max) Bersih: Keluarga Protokol Berdaftar 10 LO: Pelanjutan Privasi Dilumpuhkan E1000: ETH0 NIC Link adalah 1000 Mbps Duplex Penuh, Kawalan Aliran: Tiada Kolam Renang Benang Kerja Lambat: Memulakan Kolam Renang Slow Work: Siap FS- Cache: Cachefiles yang dimuatkan: Cachefiles yang dimuatkan: Keselamatan menafikan kebenaran untuk mencalonkan Konteks Keselamatan: Ralat -95 ETH0: Tiada router IPv6 hadir Type = 1305 Audit (1398268784.593: 18630): audit_enabled = 0 lama = 1 auid = 4294967295 ses = 4294967295 res = 1 readahead-collector: Memulakan perkhidmatan tertunda

5. Cari peranti yang dikesan atau rentetan tertentu

Sukar untuk mencari rentetan tertentu kerana panjang output dmesg. Oleh itu, penapis garisan dengan mempunyai rentetan seperti 'USB"DMA"tty'Dan'ingatan' dan lain-lain. Pilihan '-i' mengarahkan perintah grep untuk mengabaikan kes itu (huruf besar atau bawah).

[[dilindungi e -mel] log]# dmesg | grep -i usb [[dilindungi e -mel] log]# dmesg | grep -i dma [[dilindungi e -mel] nt.com log]# dmesg | grep -i tty [[dilindungi e -mel] log]# dmesg | GREP -I memori
Output sampel
[0.000000] Mengimbas 1 kawasan untuk rendah ingatan rasuah [0.000000] awal ingatan dipetakan: [MEM 0x00000000-0x01ffffff] [0.000000] asas ingatan Trampolin di [C009B000] 9B000 Saiz 16384 [0.000000] init_ingatan_Mapping: [MEM 0x00000000-0x000FFFFF] [0.000000] init_ingatan_Mapping: [MEM 0x37800000-0x379fffff] [0.000000] init_ingatan_Mapping: [MEM 0x34000000-0x377fffff] [0.000000] init_ingatan_mapping: [MEM 0x00100000-0x333ffffff] [0.000000] init_ingatan_mapping: [MEM 0x37A00000-0x37bfdfff] [0.000000] Awal ingatan julat nod [0.000000] PM: Nosave berdaftar ingatan: [MEM 0x0009F000-0x000effff] [0.000000] PM: Nosave berdaftar ingatan: [MEM 0x000F0000-0x000FFFFF] [0.000000] Sila cuba 'cgroup_disable =ingatan'Pilihan jika anda tidak mahu ingatan cgroups [0.000000] Ingatan: 2003288k/2059928k Tersedia (Kod Kernel 6352K, 607K RWData, 2640k Rodata, 880k init, 908k BSS, 56640k Reserved, 1146920k Highmem) [0.000000] kernel maya ingatan Layout: [0.004291] memulakan subsik cgroup ingatan [0.004609] membebaskan alternatif SMP ingatan: 28K (C1A3E000 - C1A45000) [0.899622] membebaskan initrd ingatan: 23616K (F51D0000 - F68E0000) [0.899813] Mengimbas rendah ingatan rasuah setiap 60 saat [0.946323] AGPGART-INTEL 0000: 00: 00.0: Dikesan 32768k dicuri ingatan [1.360318] membebaskan kernel yang tidak digunakan ingatan: 880K (C1962000 - C1A3E000) [1.429066] [DRM] Ingatan boleh digunakan oleh peranti grafik = 2048m

6. Kosongkan log buffer DMESG

Ya, kita dapat membersihkan log DMESG jika diperlukan dengan arahan di bawah. Ia akan membersihkan log mesej penampan cincin dmesg sehingga anda melaksanakan arahan di bawah. Masih anda boleh melihat log yang disimpan dalam '/var/log/dmesg'Fail. Sekiranya anda menyambungkan mana -mana peranti akan menjana output DMESG.

[[dilindungi e -mel] log]# dmesg -c

7. Memantau DMESG dalam masa nyata

Sesetengah distro membolehkan perintah 'ekor -f/var/log/dmesg' juga untuk pemantauan dmesg masa nyata.

[[dilindungi e -mel] log]# menonton "DMESG | Tail -20"

Kesimpulan: Perintah DMESG berguna kerana DMESG merekodkan semua perubahan sistem yang dilakukan atau berlaku dalam masa nyata. Seperti biasa anda boleh Man Dmesg Untuk mendapatkan lebih banyak maklumat.