VDS Sunucu

Dmesg Nedir? Linux Kernel Logları Nasıl İncelenir?

27 Eylül 2026 15 dk okuma 31 görüntülenme Burak A.
Dmesg Nedir? Linux Kernel Logları Nasıl İncelenir?

Dmesg nedir? sorusunun en kısa cevabı, Linux kernel tarafından oluşturulan mesajları görüntülemek için kullanılan komut satırı aracıdır.

Linux sunucularda işletim sistemi açılırken donanım algılama, sürücü yükleme, disk bağlantıları, ağ arayüzleri, USB cihazları, bellek problemleri ve çeşitli kernel olayları hakkında çok sayıda mesaj oluşturulur.

Bu mesajların önemli bir bölümüne dmesg komutu üzerinden ulaşabilirsiniz.

Örneğin:

dmesg

komutu kernel mesajlarını terminal üzerinde görüntüler.

Özellikle bir VDS sunucuda:

  • Disk hatası
  • NVMe veya SSD problemi
  • Network kartı problemi
  • Kernel uyarısı
  • USB cihaz problemi
  • OOM Killer olayı
  • Dosya sistemi problemi
  • Sürücü hatası
  • Boot sırasında oluşan hata

gibi durumları araştırırken dmesg oldukça kullanışlıdır.

💡 Kısa cevap: Dmesg, Linux kernel mesajlarını görüntüleyerek işletim sistemi seviyesindeki sorunları analiz etmenizi sağlayan temel Linux araçlarından biridir.

⚙️ Dmesg Nedir Nasıl Çalışır?

Linux kernel, sistem çalışırken çok sayıda olay hakkında mesaj üretir.

Kabaca süreç şu şekilde düşünülebilir:

Donanım / Sürücü / Kernel Olayı
              ↓
       Linux Kernel
              ↓
       Kernel Mesajları
              ↓
           dmesg
              ↓
       Sistem Analizi

Örneğin sistem bir NVMe diski algıladığında kernel bu cihazla ilgili mesaj oluşturabilir.

Benzer şekilde bir network kartı başlatıldığında veya bir donanım sürücüsü hata verdiğinde kernel tarafında ilgili kayıtlar oluşabilir.

dmesg ise bu kernel mesajlarını okuyup terminal üzerinden incelemenizi sağlar.

Dmesg nasıl çalışır sorusunu gösteren Linux kernel ve kernel log akışı
Linux kernel tarafından oluşturulan donanım, sürücü ve sistem mesajları kernel loglarında tutulur ve dmesg komutuyla görüntülenebilir.

🟢 En Temel Dmesg Nedir Komutu

En basit kullanım:

dmesg

Bu komut mevcut kernel mesajlarını görüntüler.

Ancak yoğun çalışan bir Linux sunucuda çıktı oldukça uzun olabilir.

Bu nedenle grep, tail, less ve benzeri araçlarla birlikte kullanmak çok daha pratiktir.

Örneğin:

dmesg | less

ile mesajları sayfa sayfa inceleyebilirsiniz.

Son mesajları görmek için:

dmesg | tail

ve daha fazla kayıt görmek için:

dmesg | tail -n 50

kullanabilirsiniz.

🕒 Dmesg Nedir Tarih ve Saat Bilgisini Nasıl Gösterir?

Dmesg çıktısındaki zaman bilgileri ilk bakışta biraz kafa karıştırabilir.

Daha okunabilir zaman bilgisi için:

dmesg -T

kullanılabilir.

Örneğin:

[Sun Sep 27 10:12:31 2026] nvme nvme0: detected

gibi daha anlaşılır bir zaman bilgisi elde edebilirsiniz.

Bu özellikle hata analizi sırasında önemlidir.

Örneğin bir servisin saat 10:15 civarında hata verdiğini biliyorsanız kernel mesajlarını aynı zaman aralığıyla karşılaştırabilirsiniz.

🔎 Dmesg ile Hata Mesajları Nasıl Bulunur?

Tüm kernel mesajlarını okumak yerine yalnızca hata içeren kayıtları filtrelemek daha pratiktir.

Örneğin:

dmesg | grep -i error

ve:

dmesg -T | grep -i error

kullanılabilir.

Warning kayıtlarını bulmak için:

dmesg | grep -i warning

kullanabilirsiniz.

Birden fazla kelimeyi aynı anda aramak için:

dmesg | grep -Ei "error|fail|warning"

oldukça kullanışlıdır.

Bu yöntem özellikle uzun kernel çıktılarında sorunlu kayıtları hızlıca bulmanızı sağlar.

🚨 Dmesg Nedir ile OOM Killer Nasıl Kontrol Edilir?

Dmesg’in en önemli kullanım alanlarından biri OOM Killer olaylarını araştırmaktır.

Linux sistemde RAM kaynakları kritik seviyeye ulaştığında kernel bir process’i sonlandırabilir.

Böyle bir durumdan şüpheleniyorsanız:

dmesg | grep -i oom

komutunu kullanabilirsiniz.

Daha geniş bir arama için:

dmesg | grep -Ei "out of memory|oom|killed process"

kullanılabilir.

Örneğin:

Out of memory: Killed process 1234 (mysqld)

benzeri bir kayıt görürseniz kernel’in bellek yetersizliği nedeniyle bir process’i sonlandırmış olabileceğini anlayabilirsiniz.

Bu noktada yalnızca dmesg çıktısına bakmak yerine RAM kullanımını da kontrol etmek gerekir:

free -h

OOM Killer’ın çalışma mantığını ayrıntılı şekilde incelemek için OOM Killer Nedir? Linux RAM Bittiğinde Ne Olur?rehberimizi de kullanabilirsiniz.

💾 Dmesg Nedir ile Disk Hataları Nasıl Bulunur?

Sunucuda disk kaynaklı bir problem olduğunu düşünüyorsanız dmesg oldukça faydalıdır.

Örneğin:

dmesg | grep -Ei "disk|error|fail"

veya:

dmesg | grep -Ei "ata|sda|nvme"

kullanılabilir.

NVMe disklerle ilgili mesajları doğrudan:

dmesg | grep -i nvme

ile filtreleyebilirsiniz.

SATA disklerde ise:

dmesg | grep -Ei "ata|sda|sdb"

gibi filtreler kullanılabilir.

Örneğin aşağıdaki tarzda bir kayıt dikkat gerektirebilir:

I/O error

veya:

resetting controller

Ancak tek bir hata mesajından doğrudan disk arızası sonucu çıkarmak doğru değildir.

Kernel mesajının bağlamı, tekrar sıklığı ve fiziksel/sanal depolama altyapısı birlikte değerlendirilmelidir.

Disk performansı ile ilgili daha kapsamlı analiz için VDS Disk I/O Nedir? Sunucuda IOPS ve Disk Performansı Rehberi içeriği de yardımcı olacaktır.

💽 NVMe ve SSD Problemlerinde Dmesg Nedir

Özellikle NVMe tabanlı VDS sunucularda kernel mesajları depolama problemlerini araştırmak için kullanılabilir.

Örneğin:

dmesg -T | grep -i nvme

komutu NVMe ile ilgili kernel kayıtlarını filtreler.

Şunlara benzer mesajlar görülebilir:

nvme0: detected

veya hata durumlarında:

I/O error
controller reset

gibi kayıtlar oluşabilir.

Burada önemli olan nokta, dmesg çıktısının tanı koyan tek araç olmadığıdır.

Disk performansını değerlendirirken IOPS, latency, throughput ve I/O wait gibi metrikler de birlikte incelenmelidir.

🌐 Dmesg Nedir ile Network Hataları Nasıl Bulunur?

Network kartı veya network sürücüsüyle ilgili problemleri de dmesg üzerinden araştırabilirsiniz.

Örneğin:

dmesg | grep -Ei "network|ethernet|link"

ve:

dmesg | grep -Ei "eth|ens|enp"

kullanılabilir.

Network interface’in durumuyla ilgili:

link is up

veya:

link is down

gibi mesajlarla karşılaşabilirsiniz.

Eğer network bağlantısı belirli aralıklarla kopuyorsa kernel mesajlarında interface veya sürücüyle ilgili ipuçları bulunabilir.

Ancak network problemlerinde dmesg yanında ip, ss, ping, mtr ve diğer network araçları da değerlendirilmelidir.

🔌 Dmesg Nedir ile USB Cihazları Nasıl Kontrol Edilir?

Linux’a USB cihaz bağlandığında kernel bunu algılayabilir.

USB mesajlarını görmek için:

dmesg | grep -i usb

kullanabilirsiniz.

Örneğin yeni bir cihaz bağladığınızda:

dmesg -w

komutunu çalıştırıp ardından cihazı takarsanız oluşan kernel mesajlarını canlı olarak görebilirsiniz.

Bu yöntem özellikle:

  • USB disk
  • USB network adaptörü
  • USB cihaz sürücüleri
  • Harici donanımlar

için kullanışlıdır.

🔴 Dmesg Nedir ile Failed ve Error Kayıtları Nasıl Bulunur?

Hızlı bir hata taraması için:

dmesg -T | grep -Ei "error|failed|failure|warning"

kullanabilirsiniz.

Ancak burada önemli bir ayrıntı var.

Her warning veya error kaydı kritik bir problem anlamına gelmez.

Örneğin bazı kernel bileşenleri normal çalışma sırasında uyarı mesajları oluşturabilir.

Bu nedenle:

error bulundu
↓
sistem kesin arızalı

şeklinde doğrudan sonuç çıkarmak doğru değildir.

Mesajın ne zaman oluştuğu, hangi bileşenle ilgili olduğu ve tekrar edip etmediği incelenmelidir.

🧠 Dmesg Nedir ile Journalctl Arasındaki Fark Nedir?

Burada Dmesg ve Journalctl sık sık birbirine karıştırılır.

dmesg temel olarak kernel ring buffer içerisindeki kernel mesajlarını görüntüler.

journalctl ise systemd-journald tarafından toplanan journal kayıtlarını incelemek için kullanılır.

Örneğin kernel loglarını journal üzerinden:

journalctl -k

ile görebilirsiniz.

Dmesg:

dmesg

Journalctl:

journalctl -k

şeklinde düşünülebilir.

Ancak bunlar tamamen aynı araç değildir.

journalctl ile tarih, servis, boot ve farklı filtreleme seçeneklerini kullanarak çok daha geniş bir journal analizi yapılabilir.

Linux loglarını ayrıntılı olarak incelemek için Journalctl Nedir? Linux Logları Nasıl İncelenir? rehberimizi kullanabilirsiniz.

⚙️ Dmesg Nedir ve Systemctl Birlikte Nasıl Kullanılır?

Bir Linux servisi çalışmıyorsa yalnızca:

systemctl status nginx

çıktısına bakmak bazen yeterli olmayabilir.

Örneğin önce servisin durumunu kontrol edebilirsiniz:

systemctl status nginx

Ardından kernel tarafında bir problem olup olmadığını:

dmesg -T | tail -n 100

ile inceleyebilirsiniz.

Servis loglarını ise:

journalctl -u nginx

ile kontrol edebilirsiniz.

Böylece:

Systemctl
   ↓
Servis durumu

Journalctl
   ↓
Servis logları

Dmesg
   ↓
Kernel / donanım mesajları

şeklinde üç farklı seviyeyi değerlendirmiş olursunuz.

Bu yaklaşım özellikle VDS üzerinde servislerin neden çalışmadığını araştırırken oldukça kullanışlıdır.

🐧 Dmesg Nedir ile Boot Logları Nasıl İncelenir?

Linux açılırken kernel çok sayıda mesaj üretir.

Sistem açıldıktan sonra:

dmesg -T

ile bu mesajlar incelenebilir.

Örneğin:

dmesg -T | less

komutu ile boot sırasında oluşan kernel mesajlarını sayfa sayfa okuyabilirsiniz.

Boot sırasında belirli bir donanım veya sürücü probleminden şüpheleniyorsanız:

dmesg -T | grep -Ei "error|fail|warning"

oldukça kullanışlıdır.

Ancak modern systemd sistemlerinde geçmiş boot kayıtlarını incelemek için journalctl daha kapsamlı seçenekler sunabilir.

🔄 Önceki Boot Kayıtları Dmesg ile Görülebilir mi?

dmesg doğrudan geçmiş boot’ların tamamını arşivleyen bir günlük sistemi değildir.

Sistem yeniden başladığında önceki kernel mesajlarını dmesg üzerinden her zaman göremezsiniz.

Geçmiş boot kayıtları için systemd-journald kullanılan sistemlerde:

journalctl --list-boots

ve belirli bir boot:

journalctl -b -1

şeklinde incelenebilir.

Bu nedenle:

Anlık kernel mesajları → dmesg

Geçmiş ve kapsamlı journal analizi → journalctl

şeklinde düşünmek daha doğru olur.

👀 Dmesg Canlı Olarak Nasıl İzlenir?

Yeni kernel mesajlarını canlı takip etmek için:

dmesg -w

kullanabilirsiniz.

Bu komut çalışırken sisteme yeni bir kernel mesajı geldiğinde terminalde görüntülenir.

Örneğin USB cihaz bağlama gibi bir işlem sırasında:

dmesg -w

komutunu çalıştırıp cihazı bağlayabilirsiniz.

Benzer şekilde belirli donanım olaylarını gerçek zamanlı takip etmek için de kullanılabilir.

İşiniz bittiğinde:

Ctrl + C

ile çıkabilirsiniz.

🧹 Dmesg Çıktısı Nasıl Temizlenir?

Kernel ring buffer üzerinde bazı işlemler yapılabilir ancak production sunucularda kernel mesajlarını gelişigüzel temizlemek önerilmez.

Özellikle:

dmesg -C

gibi komutları kullanmadan önce bunun analiz sırasında ihtiyaç duyabileceğiniz mevcut kernel mesajlarını temizleyebileceğini bilmeniz gerekir.

Bir hata araştırıyorsanız önce mevcut kayıtları kaydetmek veya incelemek daha doğru olacaktır.

⚠️ Dikkat: Sorunu araştırmak amacıyla kullanılan logları teşhis tamamlanmadan temizlemek, daha sonra geriye dönük analiz yapmanızı zorlaştırabilir.

🔐 Dmesg Permission Denied Hatası Nedir?

Bazı Linux dağıtımlarında normal kullanıcı ile:

dmesg

çalıştırıldığında:

dmesg: read kernel buffer failed: Operation not permitted

benzeri bir hata alınabilir.

Bu durumda komutu yetkili kullanıcıyla çalıştırmak gerekebilir:

sudo dmesg

veya:

sudo dmesg -T

Bunun nedeni Linux’un kernel mesajlarına erişimi güvenlik nedeniyle kısıtlayabilmesidir.

📊 Dmesg VDS Sunucularda Neden Önemlidir?

VDS üzerinde bir uygulama çalışmadığında problem her zaman uygulamanın kendisinden kaynaklanmaz.

Örneğin:

Uygulama
   ↓
Servis
   ↓
Kernel
   ↓
Disk / Network / RAM / CPU

zincirinin herhangi bir noktasında problem olabilir.

Dmesg özellikle kernel seviyesindeki olayları görmenize yardımcı olur.

Örneğin:

  • Disk I/O hatası
  • Network interface problemi
  • OOM olayı
  • Dosya sistemi uyarısı
  • Sürücü problemi
  • Kernel warning
  • Donanım algılama sorunu

gibi olaylarda değerli bilgiler sağlayabilir.

Genel VDS performans analizi için VDS Performans Sorunu Nedir? Yavaşlayan Sunucuyu Analiz Etme rehberimizi de kullanabilirsiniz. Bu içerikte CPU, RAM, disk, I/O ve çalışan process’lerin birlikte analiz edilmesi anlatılıyor.

🧩 Dmesg ile Ulimit Arasında Nasıl Bir İlişki Var?

ulimit, process’lerin belirli kaynakları kullanabileceği limitleri yönetirken dmesg kernel seviyesinde oluşan mesajları incelemek için kullanılır.

Örneğin bir uygulama kaynak limitine takıldığında:

ulimit -n

ile açık dosya limitini kontrol edebilirsiniz.

Gerçek servis limitlerini ise:

cat /proc/PID/limits

üzerinden inceleyebilirsiniz.

Ayrıntılı resource limit analizi için ulimit Nedir? Linux Sunucuda Dosya ve Process Limitleri Rehberi içeriğimizi inceleyebilirsiniz.

Burada önemli nokta:

ulimit
↓
Process kaynak limitleri

dmesg
↓
Kernel mesajları

şeklinde iki farklı seviyeyi temsil etmeleridir.

🛠️ En Faydalı Dmesg Komutları

Günlük Linux sunucu yönetiminde en çok işinize yarayabilecek komutları tek yerde toplayalım.

Tüm kernel mesajları

dmesg

Okunabilir tarih bilgisi

dmesg -T

Son 50 mesaj

dmesg -T | tail -n 50

Hata mesajları

dmesg -T | grep -i error

Warning mesajları

dmesg -T | grep -i warning

OOM kayıtları

dmesg -T | grep -Ei "oom|out of memory|killed process"

Disk mesajları

dmesg -T | grep -Ei "disk|ata|sda|sdb|nvme"

Network mesajları

dmesg -T | grep -Ei "network|ethernet|link"

USB mesajları

dmesg -T | grep -i usb

Canlı takip

dmesg -w

Sayfa sayfa inceleme

dmesg -T | less

🧪 Gerçek Bir Dmesg Analiz Senaryosu

Bir VDS üzerinde MySQL’in zaman zaman kapandığını düşünelim.

İlk olarak servis durumuna bakıyoruz:

systemctl status mysql

Servisin neden durduğunu anlamak için:

journalctl -u mysql

ile servis loglarını inceliyoruz.

Ardından kernel tarafında bellek problemi olup olmadığını kontrol ediyoruz:

dmesg -T | grep -Ei "oom|out of memory|killed process"

Eğer:

Out of memory: Killed process 1234 (mysqld)

gibi bir kayıt varsa problem doğrudan MySQL servisinin kendisinden kaynaklanmıyor olabilir.

Bu durumda:

free -h

ile RAM ve Swap durumunu,

ps aux --sort=-%mem | head

ile yüksek RAM tüketen process’leri incelemek gerekir.

Böylece:

Systemctl
↓
Servis çalışıyor mu?

Journalctl
↓
Servis ne hata veriyor?

Dmesg
↓
Kernel seviyesinde ne oldu?

free / ps
↓
Kaynak durumu nasıl?

şeklinde sistematik bir teşhis süreci oluşturabiliriz.

Dmesg ile Linux sistem sorunlarının analiz edildiği AydınCloud sunucu ortamı
Dmesg ile kernel loglarını inceleyerek Linux sunucularda disk, network, donanım, sürücü ve bellek kaynaklı sorunları tespit edebilirsiniz.

⚠️ Dmesg Çıktısını Yorumlarken Nelere Dikkat Edilmeli?

Dmesg çok güçlü bir araçtır ancak çıktıyı doğru yorumlamak gerekir.

1. Her error kritik değildir

Kernel çıktısında bulunan her error kaydı fiziksel donanım arızası anlamına gelmez.

2. Tek bir mesaja bakmayın

Aynı olayla ilişkili önceki ve sonraki mesajları da inceleyin.

3. Zaman bilgisini kontrol edin

Sorun ne zaman başladıysa o zamana yakın kernel kayıtlarına odaklanın.

4. Diğer araçlarla doğrulayın

Dmesg çıktısını:

journalctl
systemctl
free
vmstat
iostat

gibi araçlarla desteklemek daha sağlıklı sonuç verir.

5. Sanal sunucularda donanım mesajlarını doğru yorumlayın

VDS üzerinde fiziksel donanım doğrudan size ait olmayabilir. Bu nedenle bazı kernel mesajları sanallaştırma katmanıyla ilişkili olabilir.

❓ Sıkça Sorulan Sorular

Dmesg nedir?

Dmesg, Linux kernel tarafından oluşturulan mesajları görüntülemek için kullanılan komut satırı aracıdır.

Dmesg ne işe yarar?

Kernel, donanım, sürücü, disk, network, OOM ve çeşitli sistem olaylarını analiz etmek için kullanılır.

Dmesg nasıl çalıştırılır?

En temel kullanım:

dmesg

şeklindedir. Daha okunabilir zaman bilgisi için dmesg -T kullanılabilir.

Dmesg ile OOM Killer bulunur mu?

Evet. Örneğin:

dmesg -T | grep -Ei "oom|out of memory|killed process"

komutuyla ilgili kernel mesajları aranabilir.

Dmesg ile disk hatası bulunur mu?

Evet. Disk ve depolama ile ilgili kernel mesajları örneğin:

dmesg -T | grep -Ei "disk|ata|nvme|i/o error"

şeklinde filtrelenebilir.

Dmesg ve Journalctl arasındaki fark nedir?

Dmesg ağırlıklı olarak kernel mesajlarını görüntüler. Journalctl ise systemd-journald tarafından toplanan sistem ve servis günlüklerini daha kapsamlı şekilde filtrelemek için kullanılır.

Dmesg canlı olarak izlenebilir mi?

Evet.

dmesg -w

komutu yeni kernel mesajlarını canlı olarak takip etmenizi sağlar.

Dmesg neden Permission Denied veriyor?

Bazı Linux sistemlerinde kernel mesajlarına normal kullanıcı erişimi sınırlandırılabilir. Bu durumda:

sudo dmesg

kullanılabilir.

Dmesg çıktısı neden çok uzun?

Linux kernel çalışırken çok sayıda olay hakkında mesaj oluşturabilir. Bu nedenle grep, tail ve less gibi araçlarla çıktıyı filtrelemek daha pratiktir.

🎯 Sonuç

Dmesg nedir? sorusunun cevabı yalnızca bir Linux komutundan ibaret değildir. Dmesg, Linux kernel seviyesinde meydana gelen olayları inceleyerek sunucuda yaşanan birçok problemin kaynağına ulaşmanıza yardımcı olan önemli bir sistem yönetim aracıdır.

Özellikle VDS sunucularda:

  • 🧠 OOM Killer
  • 💾 Disk ve I/O problemleri
  • 🌐 Network sorunları
  • 🔌 Donanım ve sürücü problemleri
  • 🐧 Kernel mesajları
  • 🚨 Sistem uyarıları
  • ⚙️ Servis problemlerinin kernel tarafı

gibi durumlarda dmesg oldukça değerlidir.

Ancak en sağlıklı analiz, tek başına dmesg çıktısına bakmak yerine Systemctl + Journalctl + Dmesg + performans araçlarını birlikte kullanmaktır.

Örneğin bir servis çalışmıyorsa:

systemctl
↓
Servisin durumunu kontrol et

journalctl
↓
Servis loglarını incele

dmesg
↓
Kernel mesajlarını kontrol et

free / vmstat / pidstat
↓
Kaynak kullanımını analiz et

şeklindeki yaklaşım, özellikle Linux VDS sunucularda sorunların gerçek kaynağını bulmayı çok daha kolay hale getirir.

Bu nedenle dmesg, Linux sunucu yönetimi ve VDS sorun giderme süreçlerinde mutlaka bilinmesi gereken temel komutlardan biridir.

Paylaş:
Tüm Yazılara Dön Hemen İnceleyin → VDS Sunucu Paketleri Yüksek performanslı, tam izole VDS sunucu paketlerimizi inceleyin. Tam izole kaynak NVMe SSD %99.9 uptime

Yorum Yap

E-posta adresiniz yayınlanmayacaktır. Zorunlu alanlar işaretlenmiştir.

Yardıma mı ihtiyacınız var? Size nasıl yardımcı olabiliriz?
WhatsApp Destek Bizi Arayın E-posta Gönder