Amri 7 za dmesg za Utatuzi na Kukusanya Taarifa za Mifumo ya Linux


Amri ya ‘dmesg’ huonyesha ujumbe kutoka kwa bafa ya pete ya kernel. Mfumo hupitisha viwango vingi vya kukimbia kutoka ambapo tunaweza kupata maelezo mengi kama vile usanifu wa mfumo, cpu, kifaa kilichoambatishwa, RAM n.k. Kompyuta inapowashwa, kernel (msingi wa mfumo wa uendeshaji) huwekwa kwenye kumbukumbu. Katika kipindi hicho idadi ya ujumbe huonyeshwa ambapo tunaweza kuona vifaa vya maunzi vilivyogunduliwa na kernel.

Soma Pia: Amri 10 za Linux za Kukusanya Taarifa za Mfumo na Maunzi

Ujumbe ni muhimu sana katika suala la utambuzi wa madhumuni ikiwa kifaa kinashindwa. Tunapounganisha au kukata kifaa cha maunzi kwenye mfumo, kwa usaidizi wa amri ya dmesg tunakuja kujua habari iliyogunduliwa au iliyokatwa kwenye nzi. Amri ya dmesg inapatikana kwenye Linux na Unix nyingi kulingana na Mfumo wa Uendeshaji.

Wacha tuangazie zana maarufu inayoitwa amri ya 'dmesg' na mifano yao ya vitendo kama ilivyojadiliwa hapa chini. Sintaksia halisi ya dmesg kama ifuatavyo.

# dmseg [options...]

1. Orodhesha Viendeshi vyote vilivyopakiwa kwenye Kernel

Tunaweza kutumia zana za kubadilisha maandishi yaani 'zaidi', 'mkia', 'chini' au 'grep ' na amri ya dmesg. Kama matokeo ya logi ya dmesg hayatatoshea kwenye ukurasa mmoja, kutumia dmesg iliyo na bomba zaidi au chini ya amri itaonyesha kumbukumbu kwenye ukurasa mmoja.

 dmesg | more
 dmesg | less
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 3.11.0-13-generic ([email ) (gcc version 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu8) ) #20-Ubuntu SMP Wed Oct 23 17:26:33 UTC 2013 
(Ubuntu 3.11.0-13.20-generic 3.11.6)
[    0.000000] KERNEL supported 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: BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
[    0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000007dc08bff] usable
[    0.000000] BIOS-e820: [mem 0x000000007dc08c00-0x000000007dc5cbff] ACPI NVS
[    0.000000] BIOS-e820: [mem 0x000000007dc5cc00-0x000000007dc5ebff] ACPI data
[    0.000000] BIOS-e820: [mem 0x000000007dc5ec00-0x000000007fffffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000e0000000-0x00000000efffffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fed003ff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed20000-0x00000000fed9ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000feefffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000ffb00000-0x00000000ffffffff] reserved
[    0.000000] NX (Execute Disable) protection: active
.....

Soma Pia: Dhibiti Faili za Linux kwa Ufanisi ukitumia kichwa cha amri, mkia na paka

2. Orodhesha Vifaa vyote vilivyogunduliwa

Ili kugundua ni diski gani ngumu zimegunduliwa na kernel, unaweza kutafuta neno kuu sda pamoja na grep kama inavyoonyeshwa hapa chini.

 dmesg | grep sda

[    1.280971] sd 2:0:0:0: [sda] 488281250 512-byte logical blocks: (250 GB/232 GiB)
[    1.281014] sd 2:0:0:0: [sda] Write Protect is off
[    1.281016] sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    1.281039] sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    1.359585]  sda: sda1 sda2 < sda5 sda6 sda7 sda8 >
[    1.360052] sd 2:0:0:0: [sda] Attached SCSI disk
[    2.347887] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
[   22.928440] Adding 3905532k swap on /dev/sda6.  Priority:-1 extents:1 across:3905532k FS
[   23.950543] EXT4-fs (sda1): re-mounted. Opts: errors=remount-ro
[   24.134016] EXT4-fs (sda5): mounted filesystem with ordered data mode. Opts: (null)
[   24.330762] EXT4-fs (sda7): mounted filesystem with ordered data mode. Opts: (null)
[   24.561015] EXT4-fs (sda8): mounted filesystem with ordered data mode. Opts: (null)

KUMBUKA: Kiendeshi cha kwanza cha SATA cha 'sda', 'sdb' ni kiendeshi cha pili cha SATA na kadhalika. Tafuta ukitumia ‘hda’ au ‘hdb’ katika hali ya diski kuu ya IDE.

3. Chapisha tu Mistari 20 ya Kwanza ya Pato

‘Kichwa’ pamoja na dmesg vitaonyesha mistari ya kuanzia yaani ‘dmesg | head -20’ itachapisha mistari 20 pekee kutoka mahali pa kuanzia.

 dmesg | head  -20

[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 3.11.0-13-generic ([email ) (gcc version 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu8) ) #20-Ubuntu SMP Wed Oct 23 17:26:33 UTC 2013 (Ubuntu 3.11.0-13.20-generic 3.11.6)
[    0.000000] KERNEL supported 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: BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
[    0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000007dc08bff] usable
[    0.000000] BIOS-e820: [mem 0x000000007dc08c00-0x000000007dc5cbff] ACPI NVS
[    0.000000] BIOS-e820: [mem 0x000000007dc5cc00-0x000000007dc5ebff] ACPI data
[    0.000000] BIOS-e820: [mem 0x000000007dc5ec00-0x000000007fffffff] reserved

4. Chapisha Mistari 20 Tu ya Mwisho ya Pato

'Mkia' pamoja na amri ya dmesg itachapisha mistari 20 tu ya mwisho, hii ni muhimu ikiwa tutaingiza kifaa kinachoweza kutolewa.

 dmesg | tail -20

parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE]
ppdev: user-space parallel port driver
EXT4-fs (sda1): mounted filesystem with ordered data mode
Adding 2097144k swap on /dev/sda2.  Priority:-1 extents:1 across:2097144k
readahead-disable-service: delaying service auditd
ip_tables: (C) 2000-2006 Netfilter Core Team
nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
NET: Registered protocol family 10
lo: Disabled Privacy Extensions
e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
Slow work thread pool: Starting up
Slow work thread pool: Ready
FS-Cache: Loaded
CacheFiles: Loaded
CacheFiles: Security denies permission to nominate security context: error -95
eth0: no IPv6 routers present
type=1305 audit(1398268784.593:18630): audit_enabled=0 old=1 auid=4294967295 ses=4294967295 res=1
readahead-collector: starting delayed service auditd
readahead-collector: sorting
readahead-collector: finished

5. Tafuta Kifaa Kilichogunduliwa au Kamba Maalum

Ni ngumu kutafuta kamba fulani kwa sababu ya urefu wa pato la dmesg. Kwa hivyo, chuja mistari kwa kuwa na mfuatano kama ‘usb‘ ‘dma‘ ‘tty’ na ‘kumbukumbu’ n.k. Chaguo la ‘-i’ elekeza kwa grep amri kupuuza kipochi (herufi kubwa au ndogo).

 dmesg | grep -i usb
 dmesg | grep -i dma
 dmesg | grep -i tty
 dmesg | grep -i memory
[    0.000000] Scanning 1 areas for low memory corruption
[    0.000000] initial memory mapped: [mem 0x00000000-0x01ffffff]
[    0.000000] Base memory trampoline at [c009b000] 9b000 size 16384
[    0.000000] init_memory_mapping: [mem 0x00000000-0x000fffff]
[    0.000000] init_memory_mapping: [mem 0x37800000-0x379fffff]
[    0.000000] init_memory_mapping: [mem 0x34000000-0x377fffff]
[    0.000000] init_memory_mapping: [mem 0x00100000-0x33ffffff]
[    0.000000] init_memory_mapping: [mem 0x37a00000-0x37bfdfff]
[    0.000000] Early memory node ranges
[    0.000000] PM: Registered nosave memory: [mem 0x0009f000-0x000effff]
[    0.000000] PM: Registered nosave memory: [mem 0x000f0000-0x000fffff]
[    0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups
[    0.000000] Memory: 2003288K/2059928K available (6352K kernel code, 607K rwdata, 2640K rodata, 880K init, 908K bss, 56640K reserved, 1146920K highmem)
[    0.000000] virtual kernel memory layout:
[    0.004291] Initializing cgroup subsys memory
[    0.004609] Freeing SMP alternatives memory: 28K (c1a3e000 - c1a45000)
[    0.899622] Freeing initrd memory: 23616K (f51d0000 - f68e0000)
[    0.899813] Scanning for low memory corruption every 60 seconds
[    0.946323] agpgart-intel 0000:00:00.0: detected 32768K stolen memory
[    1.360318] Freeing unused kernel memory: 880K (c1962000 - c1a3e000)
[    1.429066] [drm] Memory usable by graphics device = 2048M

6. Futa Kumbukumbu za Bafa za dmesg

Ndio, tunaweza kufuta kumbukumbu za dmesg ikiwa inahitajika na amri ya chini. Itafuta kumbukumbu za ujumbe wa bafa ya dmesg hadi utekeleze amri iliyo hapa chini. Bado unaweza kutazama kumbukumbu zilizohifadhiwa katika faili za '/var/log/dmesg'. Ukiunganisha kifaa chochote kitatoa pato la dmesg.

 dmesg -c

7. Ufuatiliaji dmesg katika Wakati Halisi

Sehemu zingine huruhusu amri 'tail -f /var/log/dmesg' vile vile kwa ufuatiliaji wa dmesg wa wakati halisi.

 watch "dmesg | tail -20"

Hitimisho: Amri ya dmesg ni muhimu kwani dmesg hurekodi mabadiliko yote ya mfumo yaliyofanywa au kutokea kwa wakati halisi. Kama kawaida unaweza man dmesg ili kupata maelezo zaidi.