‘ Dmesg ‘ komutu çekirdek arabelleğinden gelen mesajları görüntüler. Bir sistem, sistem mimarisi, işlemci, bağlı aygıtlar, bellek vb. Gibi birçok bilgiyi alabileceğimiz birden fazla çalışma seviyesinden geçer. Bilgisayar açıldığında, çekirdek (bir işletim sisteminin çekirdeği) belleğe yüklenir. Bu süre zarfında, çekirdek tarafından algılanan donanım aygıtlarını görebileceğimiz mesajlar görüntülenir.
Mesajlar, cihaz arızası durumunda teşhis amaçlı kullanımda çok önemlidir. Sisteme yeni bir donanım bağladığımızda veya bağlantısını kestiğimizde, dmesg komutunun yardımıyla algılanan veya bağlantısı kesilen bilgileri anında öğreniriz. Aşağıda pratik örneklerini görebileceğimiz ‘dmesg’ komutuna biraz daha yakından bakalım. Dmesg’nin tam sözdizimi aşağıdaki gibidir.
# dmseg [seçenekler …]
1. Çekirdekte yüklü olan tüm sürücüleri listeleyin
Dmesg komutuyla ‘ more ‘, ‘ tail ‘, ‘ less ‘ veya ‘ grep ‘ gibi metin düzenleme araçlarını kullanabiliriz . Dmesg günlüğü çıktısı tek bir sayfaya sığmayacağından, dmesg komutunu az ya da çok komutla kullanmak günlükleri tek bir sayfada görüntüler.
[ root@pardus ~] # dmesg | more
[ root@pardus ~] # dmesg | less
Örnek Çıktı
[0.000000] Cgroup subsys cpuset başlatılıyor
[0.000000] Cgroup subsys cpu başlatılıyor
[0.000000] Cgroup subsys cpuacct başlatılıyor
[0.000000] Linux sürüm 3.11.0-13-generic ( buildd @ aatxe ) (gcc sürüm 4.8.1 (Ubuntu / Linaro 4.8.1-10ubuntu8)) # 20-Ubuntu SMP Çar 23 Eki 17:26:33 UTC 2013
(Ubuntu 3.11.0-13.20-genel 3.11.6)
[0.000000] KERNEL destekli cpus:
[0.000000] Intel GenuineIntel
[0.000000] AMD AuthenticAMD
[0.000000] NSC tarafından NSC Geode
[0.000000] Cyrix CyrixÖnsür
Centaur CentaurHauls
[0.000000] Transmeta GenuineTMx86
[0.000000] Transmeta TransmetaCPU
[0.000000] UMC UMC UMC UMC
[0.000000] e820: BIOS tarafından sağlanan fiziksel RAM haritası:
[0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] kullanılabilir
[0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] ayrılmış
[0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000007dc08bff] kullanılabilir
[0.000000] BIOS-e820: [mem 0x000000007dc08c00-0x000000007dc5cbff] ACPI NVS
[0.000000] BIOS-e820: [mem 0x000000007dc5cc00-0x000000007dc5ebff] ACPI verileri
[0.000000] BIOS-e820: [mem 0x000000007dc5ec00-0x000000007fffffff] ayrılmış
[0.000000] BIOS-e820: [mem 0x00000000e0000000-0x00000000efffffff] ayrılmış
[0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fed003ff] ayrılmış
[0.000000] BIOS-e820: [mem 0x00000000fed20000-0x00000000fed9ffff] ayrılmış
[0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000feefffff] ayrılmış
[0.000000] BIOS-e820: [mem 0x00000000ffb00000-0x00000000ffffffff] ayrılmış
[0.000000] NX (Execute Disable) koruması: etkin
…..
2. Tespit Edilen Tüm Cihazları Listele
Çekirdek tarafından hangi sabit disklerin algılandığını görmek için, aşağıda gösterildiği gibi “ grep ” ile birlikte “ sda ” anahtar sözcüğünü arayabilirsiniz .
[ root@pardus ~] # dmesg | grep sda
[1,280971] sd 2: 0: 0: 0: [ sda ] 488281250 512 baytlık mantıksal bloklar: (250 GB / 232 GiB)
[1.281014] sd 2: 0: 0: 0: [ sda ] Yazmaya Karşı Koruma kapalı
[1.281016] sd 2: 0: 0: 0: [ sda ] Mod Algı: 00 3a 00 00
[1.281039] sd 2: 0: 0: 0: [ sda ] Yazma önbelleği: etkin, okuma önbelleği: etkin, DPO veya FUA’yı desteklemiyor
[1.359585] sda : sda 1 sda 2 < sda 5 sda 6 sda 7 sda 8>
[1.360052] sd 2: 0: 0: 0: [ sda ] Bağlı SCSI diski
[2.347887] EXT4-fs ( sda 1): sıralı veri moduna sahip bağlı dosya sistemi. Seçenekler: (boş)
[22.928440] / dev / sda 6 üzerinde 3905532k swap ekleme Öncelik: -1 dahili: 1 genelinde: 3905532k FS
[23.950543] EXT4-fs ( sda 1): yeniden monte edildi. Seçenek: hatalar = remount-ro
[24.134016] EXT4-fs ( sda 5): sıralı veri moduna sahip bağlı dosya sistemi. Seçenekler: (boş)
[24.330762] EXT4-fs ( sda 7): sıralı veri moduna sahip bağlı dosya sistemi. Seçenekler: (boş)
[24.561015] EXT4-fs ( sda 8): sıralı veri moduna sahip bağlı dosya sistemi. Seçenekler: (boş)
NOT : ‘sda’ ilk SATA sabit sürücü, ‘sdb’ ikinci SATA sabit sürücüdür. IDE sabit disk durumunda ‘hda’ veya ‘hdb’ ile arama yapın.
3. Yalnızca İlk 20 Satır Çıktısını Göster
Dmesg ile birlikte ‘head’ komutu dosyanın başlangıcından aşağıya doğru listeleme yapacaktır. Yani ‘dmesg | head -20 ‘ dosyanın ilk 20 satırını görüntüleyecektir.
[ root@pardus ~] # dmesg | head -20
[0.000000] Cgroup subsys cpuset başlatılıyor
[0.000000] Cgroup subsys cpu başlatılıyor
[0.000000] Cgroup subsys cpuacct başlatılıyor
[0.000000] Linux sürüm 3.11.0-13-generic ( buildd @ aatxe ) (gcc sürüm 4.8.1 (Ubuntu / Linaro 4.8.1-10ubuntu8)) # 20-Ubuntu SMP Çar 23 Eki 17:26:33 UTC 2013 ( Ubuntu 3.11.0-13.20-genel 3.11.6)
[0.000000] KERNEL destekli cpus:
[0.000000] Intel GenuineIntel
[0.000000] AMD AuthenticAMD
[0.000000] NSC tarafından NSC Geode
[0.000000] Cyrix CyrixÖnsür
Centaur CentaurHauls
[0.000000] Transmeta GenuineTMx86
[0.000000] Transmeta TransmetaCPU
[0.000000] UMC UMC UMC UMC
[0.000000] e820: BIOS tarafından sağlanan fiziksel RAM haritası:
[0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] kullanılabilir
[0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] ayrılmış
[0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000007dc08bff] kullanılabilir
[0.000000] BIOS-e820: [mem 0x000000007dc08c00-0x000000007dc5cbff] ACPI NVS
[0.000000] BIOS-e820: [mem 0x000000007dc5cc00-0x000000007dc5ebff] ACPI verileri
[0.000000] BIOS-e820: [mem 0x000000007dc5ec00-0x000000007fffffff] ayrılmış
4. Yalnızca Son 20 Satır Çıktı
Dmesg komutu ile birlikte ‘tail’ sadece son 20 satır basacaktır, bu çıkarılabilir aygıt takmamız durumunda kullanışlıdır.
[ [email protected] ~] # dmesg | tail -20
parport0: 0x378’de bilgisayar stili, irq 7 [PCSPP, TRISTATE]
ppdev: kullanıcı-alanı paralel port sürücüsü
EXT4-fs (sda1): sıralı veri moduna sahip bağlı dosya sistemi
/ Dev / sda2’ye 2097144k takas ekleme. Öncelik: -1 uzantıları: 1 karşısında: 2097144k
readahead-devre dışı bırakma servisi: hizmet denetimini geciktirme
ip_tables: (C) 2000-2006 Netfilter Çekirdek Ekibi
nf_conntrack sürüm 0.5.0 (16384 kova, maksimum 65536)
NET: Kayıtlı protokol ailesi 10
lo: Devre Dışı Bırakılmış Gizlilik Uzantıları
e1000: eth0 NIC Bağlantı 1000 Mbps Tam Dubleks, Akış Kontrolü: Yok
Yavaş iş parçacığı havuzu: Başlatma
Yavaş iş parçacığı havuzu: Hazır
FS-Cache: Yüklendi
CacheFiles: Yüklendi
CacheFiles: Güvenlik, güvenlik bağlamını atama iznini reddediyor: hata -95
eth0: IPv6 yönlendiricisi yok
tür = 1305 denetim (1398268784.593: 18630): denetim_etkin = 0 eski = 1 geçerli = 4294967295 ses = 4294967295 res = 1
readahead-collector: gecikmeli hizmet denetimini başlatma
readahead-toplayıcı: sıralama
readahead-toplayıcı: bitmiş
5. Tespit Edilen Cihazı veya Özel Terimi Arayın
Dmesg çıktısının uzunluğu nedeniyle belirli bir dizeyi bulmak zordur. Bu nedenle, satırları ‘ usb ‘ ‘ dma ‘ ‘ tty ‘ ve ‘ ram ‘ gibi terimlere sahip olaracak şekilde filtreleyin ‘-İ’ seçeneği, grep komutunu büyük / küçük harfleri (büyük veya küçük harfler) göz ardı etme talimatını verir .
[ root@pardus] # dmesg | grep -i usb
[ root@pardus] # dmesg | grep -i dma
[ root@pardus] # dmesg | grep -i tty
Örnek Çıktı
[0.000000] Düşük bellek bozulması için 1 alan taranıyor
[0.000000] eşlenen ilk bellek : [mem 0x00000000-0x01ffffff]
[0.000000] 9b000 ebadında 16384 [c009b000 ] baz hafızalı trambolin
[0.000000] init_ bellek _mapping: [mem 0x00000000-0x000fffff]
[0.000000] init_ bellek _ haritalama: [mem 0x37800000-0x379fffff]
[0.000000] init_ bellek _ haritalama: [mem 0x34000000-0x377fffff]
[0.000000] init_ bellek _ haritalama: [mem 0x00100000-0x33ffffff]
[0.000000] init_ bellek _ haritalama: [mem 0x37a00000-0x37bfdfff]
[0.000000] Erken bellek düğümü aralıkları
[0.000000] PM: Kayıtlı nosave belleği : [mem 0x0009f000-0x000effff]
[0.000000] PM: Kayıtlı nosave belleği : [mem 0x000f0000-0x000fffff]
[0.000000] bellek gruplarını istemiyorsanız lütfen ‘cgroup_disable = memory ‘ seçeneğini deneyin
[0.000000] Bellek : 2003288K mevcut / 2059928K (6352K çekirdek kod, 607K rwdata, 2640K RODATA, 880K init, 908K BSS, 56640K ayrılmış, 1146920K highmem)
[0.000000] sanal çekirdek bellek düzeni:
[0.004291] Cgroup subsys belleği başlatılıyor
[0.004609] SMP alternatif belleği serbest bırakılıyor : 28K (c1a3e000 – c1a45000)
[0.899622] Serbest initrd bellek : 23616K (f51d0000 – f68e0000)
[0.899813] Her 60 saniyede bir düşük bellek bozulması için tarama
[0.946323] agpgart-intel 0000: 00: 00.0: 32768K çalıntı bellek algılandı
[1.360318] Kullanılmayan çekirdek belleğinin boşaltılması: 880K (c1962000 – c1a3e000)
[1.429066] [drm] Grafik cihazı tarafından kullanılabilir bellek = 2048M
6. dmesg Tampon Günlüklerini Temizle
Evet, aşağıdaki komutla gerekirse dmesg günlüklerini temizleyebiliriz. Aşağıdaki komut ile arabellekte tutulan dmesg günlükleri temizlenir. Yine de ‘ / var / log / dmesg ‘ dosyalarında saklanan kayıt günlüklerini görüntüleyebilirsiniz . Herhangi bir cihaz bağladığınızda dmesg yine çıktı üretmeye başlayacaktır.
[ root@pardus] # dmesg -c
7. Gerçek Zamanlı dmesg izleme
Bazı dağıtımlar, gerçek zamanlı dmesg izleme için ‘tail -f / var / log / dmesg’ komutuna izin verir.
[ root@pardus] # saat “dmesg | tail -20”
Sonuç : dmesg komutu, gerçek zamanlı olarak yapılan veya gerçekleşen tüm
sistem değişikliklerini kaydettiği için oldukça yararlıdır.
Yazının orijinalini aşağıdaki linkte bulabilirsiniz
Kariyerime 26 yıl önce başladım. Windows ve Linux sistemlerinin kurulumu, yapılandırılması, yönetimi ve bakımı dahil olmak üzere birden fazla sistem üzerinde uzmanlaştım.
Açık kaynak dünyasındaki en son gelişmelerden haberdar olmaktan ve Linux hakkındaki en son araçları, özellikleri ve hizmetleri denemekten hoşlanıyorum.
Son 6 yıldır sistem ve ağ yöneticisi olarak görev yapıyorum ayrıca Pardus Dönüşüm Projesini yönetiyorum ve Pardus İşletim Sisteminin yaygınlaşması adına uğraş gösteriyorum.
Boş zamanlarımda açık kaynaklı uygulamaların Türkçe çevirisine katılıyorum ve The Document Foundation üyesiyim.