![NU-MI VINE SĂ CRED! Alternativa Android pentru Huawei ar putea fi numită „armonie”](/f/eff4b1a6bd4c105b6a8313e25f9de20f.jpg?width=100&height=100)
„dmesgComanda ‘afișează mesajele din buffer-ul soneriei kernelului. Un sistem trece mai multe niveluri de rulare de unde putem obține o mulțime de informații, cum ar fi arhitectura sistemului, cpu, dispozitiv atașat, RAM etc. Când computerul pornește, un nucleu (nucleul unui sistem de operare) este încărcat în memorie. În acea perioadă sunt afișate numărul de mesaje unde putem vedea dispozitivele hardware detectate de kernel.
Citește și: 10 comenzi Linux pentru a colecta informații despre sistem și hardware
Mesajele sunt foarte importante în ceea ce privește scopul diagnosticării în caz de defecțiune a dispozitivului. Când conectăm sau deconectăm dispozitivul hardware de pe sistem, cu ajutorul comenzii dmesg ajungem să aflăm informații detectate sau deconectate din mers. dmesg comanda este disponibilă pe majoritatea Linux și Unix bazat pe sistemul de operare.
Să aruncăm o lumină asupra celui mai faimos instrument numit comanda „dmesg” cu exemplele lor practice, așa cum este discutat mai jos. Sintaxa exactă a dmesg după cum urmează.
# dmseg [opțiuni ...]
Putem folosi instrumente de manipulare a textului, adică „Mai mult‘, ‘coadă‘, ‘Mai puțin'Sau'grep‘Cu comanda dmesg. Deoarece ieșirea jurnalului dmesg nu se va potrivi pe o singură pagină, folosind comanda dmesg cu pipe mai mult sau mai puțin, vor fi afișate jurnalele într-o singură pagină.
[[e-mail protejat] ~] # dmesg | Mai Mult. [[e-mail protejat] ~] # dmesg | Mai puțin
[0.000000] Inițializarea cgroup subsys cpuset. [0.000000] Initializarea cgroup subsys cpu. [0.000000] Initializarea cgroup subsys cpuacct. [0.000000] Versiunea Linux 3.11.0-13-generic ([e-mail protejat]) (versiunea gcc 4.8.1 (Ubuntu / Linaro 4.8.1-10ubuntu8)) # 20-Ubuntu SMP Miercuri 23 octombrie 17:26:33 UTC 2013 (Ubuntu 3.11.0-13.20-generic 3.11.6) [0.000000] KERNEL a acceptat cpus: [0.000000] Intel GenuineIntel. [0.000000] AMD AuthenticAMD. [0.000000] NSC Geode by NSC. [0.000000] Cyrix CyrixInstead. [0.000000] Centaur CentaurHauls. [0,000000] Transmeta GenuineTMx86. [0.000000] Transmeta TransmetaCPU. [0,000000] UMC UMC UMC UMC. [0.000000] e820: harta RAM fizică furnizată de BIOS: [0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] utilizabil. [0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] rezervat. [0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000007dc08bff] utilizabil. [0.000000] BIOS-e820: [mem 0x000000007dc08c00-0x000000007dc5cbff] ACPI NVS. [0.000000] BIOS-e820: [mem 0x000000007dc5cc00-0x000000007dc5ebff] date ACPI. [0.000000] BIOS-e820: [mem 0x000000007dc5ec00-0x000000007fffffff] rezervat. [0.000000] BIOS-e820: [mem 0x00000000e0000000-0x00000000efffffff] rezervat. [0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fed003ff] rezervat. [0.000000] BIOS-e820: [mem 0x00000000fed20000-0x00000000fed9ffff] rezervat. [0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000feefffff] rezervat. [0.000000] BIOS-e820: [mem 0x00000000ffb00000-0x00000000ffffffff] rezervat. [0.000000] Protecție NX (Execute Disable): activă. ...
Citește și: Gestionați eficient fișierele Linux folosind comenzile head, tail și cat
Pentru a descoperi ce hard diskuri au fost detectate de kernel, puteți căuta cuvântul cheie „sda" impreuna cu "grep”Așa cum se arată mai jos.
[[e-mail protejat] ~] # dmesg | grep sda [1.280971] sd 2: 0: 0: 0: [sda] 488281250 Blocuri logice de 512 octeți: (250 GB / 232 GiB) [1.281014] sd 2: 0: 0: 0: [sda] Protecția la scriere este dezactivată. [1.281016] sd 2: 0: 0: 0: [sda] Mode Sense: 00 3a 00 00. [1.281039] sd 2: 0: 0: 0: [sda] Scriere cache: activată, citire cache: activată, nu acceptă DPO sau FUA. [ 1.359585] sda: sda1 sda2 < sda5 sda6 sda7 sda8 > [1.360052] sd 2: 0: 0: 0: [sda] Disc atașat SCSI. [2.347887] EXT4-fs (sda1): sistem de fișiere montat cu modul de date comandat. Opțiuni: (nul) [22.928440] Adăugarea 3905532k swap pe / dev /sda6. Prioritate: -1 extinderi: 1 peste: 3905532k FS. [23.950543] EXT4-fs (sda1): re-montat. Optează: erori = remontare-ro. [24.134016] EXT4-fs (sda5): sistem de fișiere montat cu modul de date comandat. Opțiuni: (nul) [24.330762] EXT4-fs (sda7): sistem de fișiere montat cu modul de date comandat. Opțiuni: (nul) [24.561015] EXT4-fs (sda8): sistem de fișiere montat cu modul de date comandat. Opțiuni: (nul)
NOTĂ: Primul hard disk SATA „sda”, „sdb” este al doilea hard disk SATA și așa mai departe. Căutați cu „hda” sau „hdb” în cazul discului IDE.
„Capul” împreună cu dmesg vor afișa liniile de pornire, adică „dmesg | capul -20 ’va imprima doar 20 de linii de la punctul de plecare.
[[e-mail protejat] ~] # dmesg | head -20 [0.000000] Inițializarea cgroup subsys cpuset. [0.000000] Initializarea cgroup subsys cpu. [0.000000] Initializarea cgroup subsys cpuacct. [0.000000] Versiunea Linux 3.11.0-13-generic ([e-mail protejat]) (versiunea gcc 4.8.1 (Ubuntu / Linaro 4.8.1-10ubuntu8)) # 20-Ubuntu SMP Miercuri 23 octombrie 17:26:33 UTC 2013 (Ubuntu 3.11.0-13.20-generic 3.11.6) [0.000000] KERNEL a acceptat cpus: [0.000000] Intel GenuineIntel. [0.000000] AMD AuthenticAMD. [0.000000] NSC Geode by NSC. [0.000000] Cyrix CyrixInstead. [0.000000] Centaur CentaurHauls. [0,000000] Transmeta GenuineTMx86. [0.000000] Transmeta TransmetaCPU. [0,000000] UMC UMC UMC UMC. [0.000000] e820: harta RAM fizică furnizată de BIOS: [0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] utilizabil. [0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] rezervat. [0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000007dc08bff] utilizabil. [0.000000] BIOS-e820: [mem 0x000000007dc08c00-0x000000007dc5cbff] ACPI NVS. [0.000000] BIOS-e820: [mem 0x000000007dc5cc00-0x000000007dc5ebff] date ACPI. [0.000000] BIOS-e820: [mem 0x000000007dc5ec00-0x000000007fffffff] rezervat
„Coada”, împreună cu comanda dmesg, va imprima doar ultimele 20 de linii, acest lucru este util în cazul în care introducem un dispozitiv detașabil.
[[e-mail protejat]~] # dmesg | tail -20 parport0: stil PC la 0x378, irq 7 [PCSPP, TRISTATE] ppdev: driver de port paralel spațiu utilizator. EXT4-fs (sda1): sistem de fișiere montat cu modul de date ordonat. Adăugarea 2097144k swap pe / dev / sda2. Prioritate: -1 extinderi: 1 peste: 2097144k. readahead-disable-service: întârzierea auditului serviciului ip_tables: (C) 2000-2006 Netfilter Core Team. nf_conntrack versiunea 0.5.0 (16384 găleți, 65536 max) NET: Familia de protocoluri înregistrate 10. lo: Extensii de confidențialitate dezactivate. e1000: eth0 NIC Link este până la 1000 Mbps duplex complet, control al debitului: Nici unul. Grup de fire de lucru lent: pornire. Grup de fire de lucru lent: gata. FS-cache: încărcat. CacheFiles: Încărcat. CacheFiles: Securitatea refuză permisiunea de a nominaliza contextul de securitate: eroare -95. eth0: nu există routere IPv6. type = 1305 audit (1398268784.593: 18630): audit_enabled = 0 old = 1 auid = 4294967295 ses = 4294967295 res = 1. readahead-collector: pornirea auditului service întârziatd. readahead-collector: sortare. readahead-collector: terminat
Este dificil să căutați un anumit șir din cauza lungimii ieșirii dmesg. Deci, filtrați liniile cu care au șir de tipul „USB‘ ‘dma‘ ‘tty' și 'memorie‘Etc. Opțiunea „-i” indică să comanda grep pentru a ignora majuscule (litere mari sau mici).
[[e-mail protejat] log] # dmesg | grep -i usb. [[e-mail protejat] log] # dmesg | grep -i dma. [[e-mail protejat] log] # dmesg | grep -i tty. [[e-mail protejat] log] # dmesg | grep -i memory
[0.000000] Scanarea 1 zone pentru scăzut memorie corupţie. [0,000000] inițial memoriemapat: [mem 0x00000000-0x01ffffff] [0.000000] Bazamemorie trambulină la [c009b000] 9b000 dimensiunea 16384. [0.000000] init_memorie_mapping: [mem 0x00000000-0x000fffff] [0.000000] init_memorie_mapping: [mem 0x37800000-0x379fffff] [0.000000] init_memorie_mapping: [mem 0x34000000-0x377fffff] [0.000000] init_memorie_mapping: [mem 0x00100000-0x33ffffff] [0.000000] init_memorie_mapping: [mem 0x37a00000-0x37bfdfff] [0,000000] devremememorie intervale de noduri. [0.000000] PM: înregistrat nosave memorie: [mem 0x0009f000-0x000effff] [0.000000] PM: înregistrat nosavememorie: [mem 0x000f0000-0x000fffff] [0.000000] vă rugăm să încercați 'cgroup_disable =memorieopțiune dacă nu doriți memorie cgroups. [ 0.000000] Memorie: 2003288K / 2059928K disponibil (6352K cod nucleu, 607K rwdata, 2640K rodata, 880K init, 908K bss, 56640K rezervat, 1146920K highmem) [0.000000] kernel virtualmemorie aspect: [0.004291] Inițializarea subsistemului cgroup memorie [0.004609] Eliberarea alternativelor SMP memorie: 28K (c1a3e000 - c1a45000) [0.899622] Eliberarea initrdmemorie: 23616K (f51d0000 - f68e0000) [0.899813] Scanare la nivel scăzutmemorie corupție la fiecare 60 de secunde. [0.946323] agpgart-intel 0000: 00: 00.0: detectat 32768K furat memorie [1.360318] Eliberarea nucleului neutilizat memorie: 880K (c1962000 - c1a3e000) [1.429066] [drm]Memorie utilizabil de dispozitiv grafic = 2048M
Da, putem șterge jurnalele dmesg, dacă este necesar, cu comanda de mai jos. Va șterge jurnalele de mesaje tampon inel dmesg până când ați executat comanda de mai jos. Totuși, puteți vizualiza jurnalele stocate în „/var/log/dmesg‘Dosare. Dacă vă conectați, orice dispozitiv va genera ieșire dmesg.
[[e-mail protejat] jurnal] # dmesg -c
Unele distro permit comanda „tail -f / var / log / dmesg”, de asemenea, pentru monitorizarea dmesg în timp real.
[[e-mail protejat] jurnal] # ceas "dmesg | tail -20"
Concluzie: Comanda dmesg este utilă deoarece dmesg înregistrează toate modificările de sistem efectuate sau au loc în timp real. Ca întotdeauna poți omul dmesg pentru a obține mai multe informații.