iostat Nedir? Linux Disk I/O Performansı Nasıl Ölçülür?

iostat nedir? Linux sunucularda CPU ve disk I/O performansını analiz etmek için kullanılan önemli sistem araçlarından biridir. Özellikle VDS, VPS, web sunucusu, oyun sunucusu ve veritabanı sunucularında yaşanan performans problemlerinin kaynağını araştırmak için kullanılabilir.
CPU ve RAM kullanımı normal görünmesine rağmen bir Linux sunucunun yavaş çalışması mümkündür. Bunun nedenlerinden biri depolama katmanında oluşan yüksek I/O yükü veya bekleme süreleridir.
İşte bu noktada iostat nedir ve ne işe yarar sorusunun cevabı önem kazanır. iostat ile disklerin okuma ve yazma aktivitelerini, I/O isteklerinin bekleme sürelerini, I/O kuyruğunu ve cihazların kullanım durumunu inceleyebilirsiniz.
iostat, Linux için geliştirilen sysstat araç paketinin bir parçasıdır. Araç CPU istatistiklerinin yanında cihaz ve partition seviyesinde I/O istatistikleri üretebilir.
💡 İpucu: Sunucunuz yavaşladığında yalnızca CPU kullanımına bakmayın. CPU, RAM ve disk I/O değerlerini birlikte incelemek problemin kaynağını çok daha kolay bulmanızı sağlar.
🔎 iostat Nedir ve Ne İşe Yarar?
iostat nedir? sorusunu en basit şekilde cevaplamak gerekirse; iostat, Linux sistemlerde CPU ve depolama cihazlarının I/O davranışını izlemek için kullanılan bir komuttur.
Özellikle aşağıdaki durumlarda oldukça kullanışlıdır:
- 💽 Disk okuma/yazma yükünü incelemek
- 📊 IOPS davranışını gözlemlemek
- ⏱️ I/O bekleme sürelerini analiz etmek
- 📦 Disk üzerindeki I/O kuyruğunu görmek
- 🚨 Disk kaynaklı darboğazları araştırmak
- ⚡ SSD ve NVMe davranışını gözlemlemek
- 🖥️ VDS performans problemlerini analiz etmek
- 🗄️ Veritabanı kaynaklı disk yükünü araştırmak
- 💾 Backup işlemlerinin disk üzerindeki etkisini görmek
iostat’ın raporları, sistemin açılışından itibaren biriken istatistikleri veya belirli bir örnekleme aralığındaki değişimleri gösterebilir. interval ve count parametreleri kullanılarak belirli süre boyunca ölçüm yapılabilir.
AydınCloud’daki VDS Disk I/O ve IOPS rehberimiz de disk performansının temel kavramlarını anlamak için tamamlayıcı bir kaynaktır.
⚙️ iostat Nasıl Kurulur?
iostat, Linux sistemlerde sysstat paketiyle birlikte gelir.
🐧 Ubuntu ve Debian
sudo apt update
sudo apt install sysstatKurulum tamamlandıktan sonra:
iostatkomutunu çalıştırabilirsiniz.
🔴 AlmaLinux, Rocky Linux ve RHEL
sudo dnf install sysstatDaha eski sistemlerde:
sudo yum install sysstatkullanılabilir.
Kurulumun ardından sürümü kontrol etmek için:
iostat -Vkomutunu kullanabilirsiniz.
💡 İpucu: iostat çalışmıyorsa ilk kontrol etmeniz gereken şey
sysstatpaketinin kurulu olup olmadığıdır.
🚀 iostat Kullanımı Nasıl Yapılır?
En basit kullanım:
iostatşeklindedir.
Bu komut CPU ve cihazlara ilişkin temel istatistikleri gösterir.
Ancak performans problemi araştırırken tek bir anlık çıktı çoğu zaman yeterli değildir.
Örneğin:
iostat 1komutu ile 1 saniyelik aralıklarla rapor alabilirsiniz.
5 adet rapor almak için:
iostat 1 5kullanabilirsiniz.
Burada:
1→ ölçüm aralığı5→ alınacak rapor sayısı
anlamına gelir.
interval değeri verilip count belirtilmezse iostat ölçümleri sürekli üretir.
📊 iostat -x Nedir?
Linux disk performansı analizinde en kullanışlı seçeneklerden biri:
iostat -xkomutudur.
Peki iostat -x nedir?
-x, iostat’ın genişletilmiş cihaz istatistiklerini göstermesini sağlar. Bu sayede yalnızca temel okuma/yazma değerlerini değil, I/O gecikmesi ve cihaz kullanımına ilişkin daha ayrıntılı metrikleri de inceleyebilirsiniz.
Gerçek zamanlı bir analiz için:
iostat -xz 1kullanılabilir.
Burada:
-x→ genişletilmiş istatistikler-z→ örnekleme sırasında etkinlik göstermeyen cihazları gizler1→ 1 saniyelik örnekleme aralığı
anlamına gelir.
Bu komut özellikle VDS performans problemi araştırırken oldukça kullanışlıdır.

🧠 iostat Çıktısı Nasıl Okunur?
iostat -x çalıştırdığınızda sisteminizdeki disk ve block device’lara göre farklı sütunlar görebilirsiniz.
Örnek bir çıktı:
Device r/s w/s rkB/s wkB/s await aqu-sz %util
nvme0n1 120.0 80.0 2048.0 1024.0 4.20 0.80 72.5Şimdi bu değerleri tek tek inceleyelim.
📥 r/s
Saniyede tamamlanan okuma isteklerini gösterir.
Değer yükseldikçe cihazın aldığı okuma yükü artabilir.
📤 w/s
Saniyede tamamlanan yazma isteklerini gösterir.
Veritabanı, log sistemi veya dosya işlemleri yoğun olan sunucularda bu değer yükselerek görülebilir.
💾 rkB/s
Saniyede okunan veri miktarını gösterir.
💽 wkB/s
Saniyede yazılan veri miktarını gösterir.
Bu değerleri değerlendirirken sadece MB/s seviyesine bakmak yeterli değildir. Küçük ve çok sayıda I/O isteği ile büyük ve daha az sayıdaki I/O isteği aynı aktarım hızını üretirken disk üzerinde farklı yükler oluşturabilir.
⏱️ iostat await Nedir?
iostat nedir konusunu araştırırken en önemli metriklerden biri await değeridir.
await, I/O isteklerinin tamamlanması için geçen ortalama süreyi milisaniye cinsinden gösterir. Bu süre yalnızca cihazın isteği işlemesini değil, isteğin kuyrukta beklediği süreyi de kapsar.
Örneğin:
await = 2.5değeri ortalama I/O tamamlanma süresinin yaklaşık 2,5 ms olduğunu gösterir.
Ancak burada önemli bir nokta vardır:
Yüksek await değeri tek başına disk arızası anlamına gelmez.
İş yükü, I/O yoğunluğu, sanallaştırma katmanı ve depolama altyapısı birlikte değerlendirilmelidir.
AydınCloud’daki I/O Wait rehberimiz ise CPU tarafındaki I/O bekleme kavramını ayrıca açıklıyor.
📦 aqu-sz Nedir?
aqu-sz, cihaz üzerinde ortalama I/O kuyruğu uzunluğunu gösterir.
Başka bir ifadeyle sistemin disk cihazına gönderdiği ve işlenmeyi bekleyen I/O taleplerinin ortalama kuyruk uzunluğu hakkında bilgi verir.
Örneğin:
aqu-sz = 0.20ile:
aqu-sz = 15.00aynı yük anlamına gelmez.
Kuyruğun sürekli büyümesi, cihazın gelen I/O taleplerini yeterince hızlı karşılayamadığı bir durumun göstergesi olabilir.
💡 İpucu:
aqu-szdeğerini tek başına değerlendirmek yerineawait,r/s,w/sve%utilile birlikte inceleyin.
🔥 iostat %util Nedir?
%util, cihazın I/O istekleriyle meşgul olduğu zamanın yüzdesini gösterir.
Örneğin:
%util = 20%cihazın ölçüm süresinin bir bölümünde I/O isteklerini işlediğini gösterir.
Ancak:
%util = 100%gördüğünüzde doğrudan “disk kesinlikle yetersiz” sonucuna varmamalısınız.
Özellikle RAID dizileri ve modern SSD/NVMe cihazları paralel I/O işlemlerini destekleyebildiğinden %util değeri bu cihazların gerçek performans sınırını tek başına göstermeyebilir.
Bu nedenle:
%util + await + aqu-sz + IOPS + throughput
birlikte değerlendirilmelidir.
🧪 iostat ile Disk I/O Nasıl Ölçülür?
Pratik bir disk analizi için:
iostat -xz 1 10komutunu kullanabilirsiniz.
Bu komutla 1 saniyelik aralıklarla 10 adet genişletilmiş rapor alabilirsiniz.
Ölçüm sırasında özellikle şu değerleri takip edin:
| Metrik | Ne gösterir? |
|---|---|
r/s | Saniyedeki okuma istekleri |
w/s | Saniyedeki yazma istekleri |
rkB/s | Saniyedeki okuma miktarı |
wkB/s | Saniyedeki yazma miktarı |
await | Ortalama I/O tamamlanma süresi |
aqu-sz | Ortalama I/O kuyruğu |
%util | Cihazın I/O ile meşguliyet oranı |
Bu değerlerin birlikte incelenmesi, disk kaynaklı darboğazların araştırılmasında çok daha sağlıklı bir yaklaşım sağlar.
🖥️ iostat ile VDS Disk Darboğazı Nasıl Tespit Edilir?
Bir VDS’nin yavaşladığını düşünelim.
İlk olarak:
iostat -xz 1çalıştırabilirsiniz.
Ardından:
topveya:
htopile CPU ve çalışan process’leri inceleyebilirsiniz.
RAM durumunu görmek için:
free -hkullanabilirsiniz.
Böylece:
CPU → RAM → Disk I/O
üçlüsünü birlikte değerlendirebilirsiniz.
AydınCloud’daki VDS sunucuda darboğaz tespit etme rehberimiz de bu analiz yaklaşımını tamamlar.
💽 iostat ile SSD ve NVMe Performansı Ölçülür mü?
Evet.
iostat, kullanılan depolama cihazının I/O davranışını gözlemlemek için kullanılabilir.
Örneğin:
iostat -xz 1ile NVMe cihazınızın:
- okuma işlemlerini,
- yazma işlemlerini,
- I/O gecikmesini,
- I/O kuyruğunu,
- cihaz kullanımını
izleyebilirsiniz.
Ancak iostat bir benchmark aracı değildir.
Yani yalnızca iostat çıktısına bakarak:
“Bu NVMe kesin olarak X IOPS yapıyor.”
demek doğru olmaz.
iostat esas olarak gerçek sistem yükü altındaki I/O davranışını izlemek için kullanılır.
SSD ve NVMe arasındaki temel farkları incelemek için NVMe ve SATA SSD karşılaştırma rehberimize göz atabilirsiniz.
🗄️ Veritabanı iostat Değerlerini Etkiler mi?
Evet.
Özellikle MySQL veya MariaDB gibi veritabanlarının yoğun çalıştığı sunucularda disk I/O ciddi şekilde artabilir.
Örneğin:
- yoğun SELECT işlemleri,
- büyük UPDATE işlemleri,
- INSERT trafiği,
- indeks işlemleri,
- log yazma işlemleri,
- tablo taramaları
disk üzerinde yoğun I/O oluşturabilir.
Bu nedenle veritabanı yoğun bir VDS’de yüksek disk kullanımı gördüğünüzde yalnızca disk donanımını suçlamak yerine uygulama ve veritabanı davranışını da incelemek gerekir.
AydınCloud’daki VDS disk I/O rehberimiz bu noktada tamamlayıcı içerik olarak kullanılabilir.
💾 Backup ve Snapshot İşlemleri iostat Değerlerini Yükseltir mi?
Evet.
Büyük bir yedekleme işlemi sırasında sistem diskten yüksek miktarda veri okuyabilir ve hedef depolamaya yüksek miktarda veri yazabilir.
Bu sırada:
r/sw/srkB/swkB/s
değerlerinde artış görülebilir.
Snapshot işlemleri de kullanılan sanallaştırma ve depolama altyapısına bağlı olarak I/O davranışını etkileyebilir.
AydınCloud’daki VDS Snapshot nedir? ve VDS yedekleme stratejisi içerikleri bu konunun devamında incelenebilir.
🧠 Linux Swap Kullanımı Disk I/O’yu Etkiler mi?
RAM yetersiz kaldığında Linux sistemi swap alanını kullanabilir.
Swap kullanımı yoğunlaştığında disk üzerinde ek okuma ve yazma işlemleri meydana gelebilir.
Bu nedenle yüksek I/O problemi yaşayan bir sunucuda RAM ve swap kullanımını da kontrol etmek önemlidir.
free -hkomutuyla RAM ve swap durumunu görebilirsiniz.
Daha detaylı bilgi için Linux Swap nedir? rehberimizi inceleyebilirsiniz.
💡 İpucu: Disk I/O problemi gördüğünüzde doğrudan diski değiştirmeye veya sağlayıcıyı suçlamaya geçmeden önce RAM, swap, backup, veritabanı ve uygulama yükünü birlikte kontrol edin.
📈 iostat ile I/O Wait Arasındaki Fark Nedir?
Burada iki kavramı birbirinden ayırmak önemlidir.
I/O Wait, CPU istatistikleri içerisinde görülen bir göstergedir.
iostat ise CPU ve disk I/O istatistiklerini görüntülemek için kullanılan bir araçtır.
Yani:
I/O Wait = performans göstergelerinden biri
iostat = bu ve diğer sistem/disk metriklerini incelemeye yardımcı olan araç
Bu nedenle yüksek %iowait görüldüğünde disk tarafını incelemek için iostat -xz 1 gibi bir komut kullanılabilir.
Ancak %iowait değerinin kendisi de tek başına disk arızası anlamına gelmez. Sorunun kaynağını bulmak için disk, process, RAM ve uygulama yükü birlikte incelenmelidir.
🛠️ iostat ile Kullanabileceğiniz Faydalı Komutlar
Temel iostat
iostat1 saniyelik sürekli ölçüm
iostat 15 ölçüm alma
iostat 1 5Genişletilmiş istatistikler
iostat -xEtkin olmayan cihazları gizleyerek genişletilmiş analiz
iostat -xz 110 adet ölçüm
iostat -xz 1 10MB/s formatında çıktı
iostat -xm 1Belirli bir diski izlemek
Örneğin cihazınız nvme0n1 ise:
iostat -xz nvme0n1 1iostat’ın -x, -y, -z, -m gibi seçenekleri genişletilmiş istatistik, ilk raporu atlama, etkin olmayan cihazları gizleme ve aktarım değerlerini farklı birimlerde gösterme gibi işlevler sağlar. GitHub
🔍 iostat Çıktısında Hangi Değerlere Bakılmalı?
Bir Linux VDS’nin disk performansını analiz ederken şu sırayı kullanabilirsiniz:
1️⃣ await
I/O isteklerinin ortalama tamamlanma süresini inceleyin.
2️⃣ aqu-sz
I/O kuyruğunun büyüyüp büyümediğine bakın.
3️⃣ %util
Disk cihazının ne kadar meşgul olduğunu değerlendirin.
4️⃣ r/s ve w/s
Okuma ve yazma isteklerinin yoğunluğunu kontrol edin.
5️⃣ rkB/s ve wkB/s
Gerçek veri aktarım miktarını inceleyin.
6️⃣ CPU %iowait
CPU tarafında I/O beklemesinin yükselip yükselmediğini kontrol edin.
Bu değerleri birlikte değerlendirmek, tek bir metrik üzerinden yanlış teşhis koyma riskini azaltır.
⚠️ iostat Sonuçları Nasıl Yanlış Yorumlanır?
En sık yapılan hatalardan biri %util değerini tek başına değerlendirmektir.
Örneğin:
%util = 90%gördüğünüzde doğrudan:
“Disk %90 dolu.”
demek yanlıştır.
%util, disk kapasitesinin veya depolama alanının doluluk oranını göstermez. I/O isteklerinin cihaz üzerinde ne kadar süreyle işlendiğiyle ilgilidir. Modern SSD’lerde ve paralel I/O işleyebilen RAID sistemlerinde %util tek başına performans sınırını göstermeyebilir.
Benzer şekilde yüksek await değeri de tek başına fiziksel disk arızası anlamına gelmez.
İş yükü ve sistem mimarisi mutlaka birlikte değerlendirilmelidir.
📋 VDS Performans Analizinde Pratik Kontrol Listesi
Sunucunuz yavaşladıysa aşağıdaki sırayla ilerleyebilirsiniz:
1. CPU kontrolü
top2. RAM ve swap kontrolü
free -h3. Disk I/O kontrolü
iostat -xz 1 104. I/O Wait kontrolü
top5. Yoğun process kontrolü
htop6. Sorunun hangi zamanlarda oluştuğunu belirleme
Normal zamanlardaki değerlerle problem yaşanan zamandaki değerleri karşılaştırın.
7. Uygulama ve veritabanı kontrolü
Disk I/O’yu hangi uygulamanın oluşturduğunu araştırın.
Bu yaklaşım, “sunucu yavaş” gibi genel bir problemi CPU, RAM, disk veya uygulama kaynaklı daha somut bir probleme dönüştürmenize yardımcı olur.
🔗 iostat Analizini Hangi AydınCloud Rehberleriyle Birlikte Kullanabilirsiniz?
Bu yeni yazıyı özellikle mevcut içeriklerin üzerine bağlayacağız:
- VDS Disk I/O ve IOPS Rehberi
- I/O Wait Nedir?
- VDS Sunucuda Darboğaz Tespit Etme
- Linux Swap Nedir?
- Linux Load Average Nedir?
- VDS Monitoring Nedir?
- NVMe ve SATA SSD Karşılaştırması
- VDS Snapshot Nedir?
- VDS Yedekleme Stratejisi
Bunların her biri sitemap’te zaten bulunan içerikler; dolayısıyla yeni makale mevcut içeriklerle güçlü bir Linux/VDS performans kümesi oluşturacak.

🎯 Sonuç: iostat Nedir?
iostat nedir? Linux sunucularda CPU ve depolama I/O performansını incelemek için kullanılan güçlü bir analiz aracıdır.
Özellikle VDS sunucularda yaşanan yavaşlamalarda iostat -xz 1 komutu ile:
- 📊 I/O isteklerini,
- ⏱️
awaitdeğerini, - 📦
aqu-szdeğerini, - 🔥
%utiloranını, - 📥 okuma işlemlerini,
- 📤 yazma işlemlerini
inceleyebilirsiniz.
Ancak iostat nedir sorusunun cevabını öğrenmek kadar, çıktıyı doğru yorumlamak da önemlidir. Tek bir metrik üzerinden karar vermek yerine CPU, RAM, swap, disk I/O, uygulama ve veritabanı yükünü birlikte değerlendirmek gerekir.
💡 İpucu: Linux VDS’nizde anlık performans problemi yaşadığınızda
iostat -xz 1 10komutunu çalıştırıp sonuçları kaydetmek, problemin disk kaynaklı olup olmadığını araştırmak için iyi bir başlangıç noktasıdır.