VDS Sunucu

iotop Nedir? Linux’ta Hangi İşlem Disk I/O Kullanıyor?

12 Eylül 2026 27 dk okuma Burak A.
iotop Nedir? Linux’ta Hangi İşlem Disk I/O Kullanıyor?

Linux sunucularda performans sorunlarını analiz ederken yalnızca işlemci (CPU) veya bellek (RAM) kullanımını takip etmek çoğu zaman yeterli değildir. Özellikle web sunucuları, veritabanları ve dosya tabanlı uygulamalarda yaşanan yavaşlamaların önemli bir bölümü depolama katmanından kaynaklanabilir. İşte bu noktada iotop nedir sorusu önem kazanır.

iotop, Linux işletim sistemlerinde çalışan işlemlerin (process) disk okuma (Read) ve yazma (Write) işlemlerini gerçek zamanlı olarak gösteren güçlü bir komut satırı aracıdır. Hangi uygulamanın diski kullandığını, ne kadar veri okuduğunu veya yazdığını anlık olarak görüntüleyerek Disk I/O kaynaklı performans sorunlarının kaynağını kısa sürede belirlemenizi sağlar.

Bir sunucuda yalnızca “Disk I/O yüksek” bilgisini görmek çoğu zaman yeterli değildir. Asıl önemli olan, bu yükün hangi işlem tarafından oluşturulduğunu tespit edebilmektir. Çünkü yüksek disk kullanımı yoğun çalışan bir MySQL veritabanından, sürekli log yazan bir uygulamadan, yanlış yapılandırılmış bir Docker container’ından veya zamanlanmış bir yedekleme görevinden kaynaklanabilir.

İşte iotop tam olarak bu sorunun cevabını verir. Gerçek zamanlı olarak çalışan işlemleri izleyerek hangi uygulamanın depolama kaynağını kullandığını gösterir ve performans sorunlarının kaynağını tahmin etmek yerine somut verilerle analiz etmenizi sağlar.

Bu rehberde iotop nedir, iotop ne işe yarar, Linux’ta iotop nasıl kurulur, iotop komutları nasıl kullanılır, hangi işlemin Disk I/O oluşturduğu nasıl tespit edilir ve iostat ile iotop birlikte nasıl değerlendirilir gibi en çok merak edilen konuları ayrıntılı olarak ele alacağız.

💡 İpucu: Disk kullanımının yükseldiğini gördüğünüzde doğrudan CPU veya RAM yükseltmeyi düşünmek yerine önce hangi işlemin Disk I/O oluşturduğunu belirlemek çok daha doğru bir teşhis yöntemidir.

🔍 iostat ile iotop Arasındaki Fark Nedir?

Linux sistemlerde Disk I/O analizi yapılırken en sık kullanılan araçlardan ikisi iostat ve iotop komutlarıdır. Her iki araç da depolama performansını analiz etmek için kullanılsa da farklı sorulara cevap verir.

iostat, disk veya blok aygıtı seviyesindeki performans metriklerini gösterir. Diskin ne kadar yoğun çalıştığını, okuma ve yazma hızlarını, IOPS değerlerini, bekleme sürelerini ve kuyruk uzunluğunu analiz etmenizi sağlar.

Eğer iostat komutunu daha önce kullanmadıysanız, iostat Nedir? Linux Disk I/O Performansı Nasıl Ölçülür?rehberimizi de incelemenizi öneririz. Bu içerik, disk seviyesindeki performans analizini ayrıntılı olarak ele almaktadır.

Ancak iostat şu sorunun cevabını vermez:

“Bu Disk I/O yükünü hangi uygulama oluşturuyor?”

İşte bu noktada iotop devreye girer.

Özellikiostatiotop
Disk kullanımını gösterir
Process bazlı analiz yapar
Gerçek zamanlı izleme sağlar
Hangi uygulamanın Disk I/O oluşturduğunu gösterir
Performans darboğazını analiz etmeye yardımcı olur

Bunu daha kısa şekilde özetleyebiliriz.

iostat

➡️ Disk nasıl çalışıyor?

iotop

➡️ Diski hangi işlem kullanıyor?

Gerçek bir performans analizi yaparken bu iki aracı birlikte kullanmak çok daha doğru sonuçlar elde etmenizi sağlar.

⚙️ iotop Nasıl Çalışır?

iotop, Linux çekirdeğinin I/O Accounting mekanizmasını kullanarak çalışan işlemlerin gerçekleştirdiği disk okuma ve yazma işlemlerini takip eder. Kernel tarafından toplanan bu bilgiler terminal üzerinde okunabilir bir tablo hâline getirilir ve gerçek zamanlı olarak güncellenir.

Gösterilen temel bilgiler şunlardır:

  • PID (Process ID)
  • USER
  • DISK READ
  • DISK WRITE
  • SWAPIN
  • IO%
  • COMMAND

Bu bilgiler sayesinde aşağıdaki servislerin depolama üzerindeki etkisini kolayca analiz edebilirsiniz.

  • MySQL ve MariaDB
  • PostgreSQL
  • PHP-FPM
  • Apache
  • Nginx
  • Docker
  • rsync
  • journald
  • logrotate
  • Backup scriptleri

⚠️ Dikkat: Çoğu Linux dağıtımında iotop komutunun tüm süreçleri görüntüleyebilmesi için sudo veya root yetkisi gerekir. Yetkisiz çalıştırıldığında bazı işlemler listelenmeyebilir.

🎯 iotop Ne İşe Yarar?

iotop nedir sorusunun cevabını öğrendikten sonra aracın hangi durumlarda kullanılacağını bilmek de önemlidir.

Bir Linux sunucuda yüksek Disk I/O oluşmasının birçok farklı nedeni olabilir. iotop bu nedenleri tahmin etmek yerine doğrudan hangi sürecin depolama erişimi yaptığını göstererek teşhis sürecini hızlandırır.

En yaygın kullanım alanları şunlardır.

🗄️ Veritabanı Sunucularını Analiz Etmek

MySQL ve MariaDB gibi veritabanı servisleri yoğun sorgular, eksik indeksler veya uzun süren transaction’lar nedeniyle yüksek Disk I/O oluşturabilir.

🌐 Web Sunucularını İncelemek

Apache, Nginx veya PHP-FPM süreçleri WordPress önbelleğinin devre dışı olması, çok sayıda küçük dosyanın okunması veya yoğun medya kullanımı nedeniyle depolama üzerinde yüksek yük oluşturabilir.

🐳 Docker Ortamlarını İzlemek

Container logları, volume işlemleri ve image oluşturma süreçleri beklenenden fazla Disk I/O oluşturabilir.

💾 Backup ve Senkronizasyon İşlemlerini Kontrol Etmek

rsync, tar, gzip veya otomatik yedekleme görevleri çalışırken oluşan disk kullanımını analiz etmek için iotop oldukça kullanışlıdır.

🔄 Swap Kaynaklı Disk Kullanımını İncelemek

Fiziksel RAM yetersiz kaldığında Linux kullanılmayan bellek sayfalarını swap alanına taşır. Bu durum yoğun Disk I/O oluşmasına neden olabilir.

Swap kullanımının sistem performansına etkisini daha ayrıntılı öğrenmek için Linux Swap Nedir? VDS Sunucuda RAM Yetmediğinde Ne Olur? rehberimizi de inceleyebilirsiniz.

💡 İpucu: Eğer yüksek Disk I/O ile birlikte I/O Wait değeri de artıyorsa, I/O Wait Nedir? VDS Sunucuda Disk Beklemesi Hızı Nasıl Etkiler? rehberimiz disk bekleme sürelerini doğru yorumlamanıza yardımcı olacaktır.

💾 Linux’ta iotop Nasıl Kurulur?

iotop nedir sorusunun cevabını öğrendikten sonra aracı sisteminize kurabilirsiniz. iotop, birçok Linux dağıtımının resmi paket depolarında yer alır ve birkaç komutla kolayca kurulabilir. Bazı yeni dağıtımlarda klasik Python tabanlı sürüm yerine iotop-c paketi sunulmaktadır. Temel kullanım mantığı her iki sürümde de benzerdir.

🐧 Ubuntu ve Debian

Ubuntu ve Debian tabanlı sistemlerde aşağıdaki komutları kullanarak iotop kurulumunu gerçekleştirebilirsiniz.

sudo apt update
sudo apt install iotop

Eğer paket depoda bulunmuyorsa aşağıdaki komut ile kontrol edebilirsiniz.

apt search iotop

Bazı sürümlerde paket adı iotop-c olarak listelenebilir.

🎩 AlmaLinux, Rocky Linux ve RHEL

RHEL tabanlı sistemlerde kurulum aşağıdaki komutla yapılabilir.

sudo dnf install iotop

Paket depoda görünmüyorsa:

sudo dnf search iotop

komutu ile kontrol sağlayabilirsiniz.

📦 CentOS 7

CentOS 7 kullanan sistemlerde önce EPEL deposunun etkin olması gerekir.

sudo yum install epel-release
sudo yum install iotop

🏹 Arch Linux

Arch Linux kullanıcıları aşağıdaki komut ile kurulumu gerçekleştirebilir.

sudo pacman -S iotop

Kurulum tamamlandıktan sonra sürümü doğrulamak için aşağıdaki komutu çalıştırabilirsiniz.

iotop --version

💡 İpucu: Üretim sunucularında yeni paket kurmadan önce bakım penceresi planlamak ve mevcut sistem yedeklerinin güncel olduğundan emin olmak iyi bir uygulamadır.

▶️ iotop Nasıl Kullanılır?

iotop nedir konusunu öğrendikten sonra aracın temel kullanımına geçebiliriz. En basit kullanım aşağıdaki komuttur.

sudo iotop

Komut çalıştırıldığında terminal üzerinde sürekli güncellenen gerçek zamanlı bir ekran açılır.

Örnek çıktı aşağıdaki gibi görünebilir.

Total DISK READ :      6.84 M/s
Total DISK WRITE:      2.15 M/s
Current DISK READ:     5.12 M/s
Current DISK WRITE:    1.08 M/s

PID   PRIO USER      DISK READ DISK WRITE SWAPIN IO    COMMAND
3124  be/4 mysql       5.0 M/s    860 K/s   0.00% 22.1% mysqld
4178  be/4 www-data    980 K/s    240 K/s   0.00%  5.2% php-fpm
5821  be/4 root        310 K/s    910 K/s   0.00%  4.0% rsync

Bu ekranda çalışan tüm işlemleri görebilir ve hangi uygulamanın ne kadar Disk I/O oluşturduğunu gerçek zamanlı olarak takip edebilirsiniz.

iotop çıktısı nasıl okunur? PID, USER, Disk Read, Disk Write, SWAPIN ve IO sütunlarının açıklaması.
iotop çıktısındaki PID, USER, Disk Read, Disk Write, SWAPIN, IO% ve COMMAND alanlarının ne ifade ettiğini gösteren teknik infografik.

📊 iotop Çıktısı Nasıl Okunur?

iotop nedir konusunu tam anlamıyla anlayabilmek için ekrandaki sütunların ne ifade ettiğini bilmek gerekir.

🆔 PID

PID (Process ID), çalışan işlemin benzersiz kimlik numarasıdır.

Örneğin;

3124

numaralı işlemi ayrıntılı incelemek için aşağıdaki komutu kullanabilirsiniz.

ps -fp 3124

Gerekirse işlemi CPU ve bellek kullanımı açısından da inceleyebilirsiniz.

top -p 3124

👤 USER

USER sütunu işlemin hangi kullanıcı hesabı altında çalıştığını gösterir.

Örneğin;

  • mysql
  • www-data
  • nginx
  • root

Paylaşımlı hosting veya çok kullanıcılı VDS sunucularda hangi kullanıcının yoğun Disk I/O oluşturduğunu belirlemek açısından oldukça faydalıdır.

📥 DISK READ

Bu sütun işlemin diskten saniyede ne kadar veri okuduğunu gösterir.

Örneğin;

5.0 M/s

Bu değer ilgili işlemin saniyede yaklaşık 5 MB veri okuduğu anlamına gelir.

Yüksek okuma değerleri genellikle;

  • Büyük veritabanı sorguları
  • Çok sayıda dosya okunması
  • Medya dosyalarının sunulması
  • Cache oluşturma işlemleri
  • Dosya indeksleme servisleri

sırasında görülebilir.

📤 DISK WRITE

DISK WRITE sütunu işlemin diske yazdığı veri miktarını gösterir.

Örneğin;

860 K/s

Yüksek yazma değerleri çoğunlukla;

  • MySQL
  • MariaDB
  • PostgreSQL
  • Docker
  • rsync
  • journald
  • logrotate

gibi servislerde görülür.

Sürekli yüksek yazma oranları tespit ederseniz VDS Sunucuda Log Yönetimi Nedir? Nasıl Yapılır? rehberimizi inceleyerek log yönetimini optimize edebilirsiniz.

🔄 SWAPIN

SWAPIN sütunu işlemin swap alanından veri almak için ne kadar süre beklediğini gösterir.

Bu değerin uzun süre yüksek kalması;

  • RAM yetersizliği
  • Bellek sızıntısı (Memory Leak)
  • Yoğun Swap kullanımı
  • Yanlış yapılandırılmış uygulamalar

gibi durumlara işaret edebilir.

Swap mekanizmasını daha ayrıntılı öğrenmek için Linux Swap Nedir? VDS Sunucuda RAM Yetmediğinde Ne Olur?rehberimize de göz atabilirsiniz.

⏳ IO%

IO sütunu işlemin çalışma süresinin ne kadarını Disk I/O bekleyerek geçirdiğini gösterir.

Örneğin;

IO 22.1%

Bu değer ilgili sürecin çalışma süresinin yaklaşık %22’sini disk erişimini bekleyerek geçirdiğini ifade eder.

Ancak bu metriği değerlendirirken;

  • Depolama türü (SSD veya NVMe)
  • Sunucunun genel yükü
  • I/O Wait değeri
  • CPU ve RAM kullanımı
  • Uygulamanın normal iş yükü

birlikte değerlendirilmelidir.

⚠️ Dikkat: Yalnızca IO yüzdesine bakarak “disk yavaş” sonucuna varmak doğru değildir. Özellikle NVMe depolama kullanan modern VDS sunucularda anlık yüksek Disk I/O değerleri normal olabilir.

🧩 COMMAND Sütunu Ne Anlama Gelir?

COMMAND sütunu, Disk I/O oluşturan işlemin hangi uygulama veya komut olduğunu gösterir.

Örneğin aşağıdaki süreçlerle sık karşılaşabilirsiniz.

COMMANDAçıklama
mysqldMySQL veya MariaDB veritabanı servisi
php-fpmPHP FastCGI Process Manager
nginxNginx web sunucusu
apache2Apache HTTP Server
dockerdDocker servis süreci
rsyncDosya senkronizasyon işlemi
tarArşivleme işlemi
journaldSistem günlük kayıt servisi

COMMAND sütununu inceleyerek hangi uygulamanın disk üzerinde yoğun yük oluşturduğunu kolayca anlayabilirsiniz.

💡 İpucu: Eğer COMMAND sütununda tanımadığınız bir uygulama sürekli yüksek Disk I/O oluşturuyorsa, bunun normal bir sistem süreci mi yoksa beklenmeyen bir uygulama mı olduğunu araştırmanız faydalı olacaktır.

🔍 Process ve Thread Arasındaki Fark

Linux’ta bazı uygulamalar tek bir process olarak çalışırken, bazıları çok sayıda thread oluşturabilir.

Örneğin;

  • MySQL
  • PostgreSQL
  • Java uygulamaları
  • Docker servisleri

birden fazla thread kullanabilir.

Bu nedenle iotop varsayılan görünümde aynı uygulamaya ait birden fazla satır gösterebilir.

Daha sade bir görünüm elde etmek için ilerleyen bölümde anlatacağımız iotop -P parametresi kullanılabilir. Bu seçenek yalnızca ana process’leri listeleyerek çıktının daha okunabilir olmasını sağlar.

💡 İpucu: Çok sayıda thread oluşturan uygulamalarda doğrudan en yüksek değere sahip satıra odaklanmak yerine, uygulamanın genel davranışını değerlendirmek daha doğru sonuç verir.

🛠️ En Faydalı iotop Komutları

iotop nedir sorusunun cevabını öğrendikten sonra sıra aracı verimli şekilde kullanmaya gelir. iotop birçok farklı parametre desteklese de günlük sistem yönetiminde kullanılan birkaç komut, performans sorunlarını teşhis etmek için çoğu zaman yeterlidir.

Aşağıdaki tablo en sık kullanılan iotop komutlarını özetlemektedir.

KomutAçıklama
sudo iotopGerçek zamanlı Disk I/O ekranını açar.
sudo iotop -oSadece aktif olarak Disk I/O yapan işlemleri gösterir.
sudo iotop -PThread yerine yalnızca process’leri listeler.
sudo iotop -oPAktif Disk I/O oluşturan process’leri gösterir.
sudo iotop -aToplam Disk I/O kullanımını biriktirerek gösterir.
sudo iotop -bBatch modunda çalışır.
sudo iotop -b -n 1Tek seferlik çıktı üretir.
sudo iotop -d 5Çıktıyı 5 saniyede bir yeniler.

💡 İpucu: Günlük kullanımda en pratik komut genellikle sudo iotop -oP komutudur. Böylece yalnızca aktif Disk I/O oluşturan process’leri görür ve gereksiz satırlarla uğraşmazsınız.

🔍 sudo iotop Komutu

En temel kullanım aşağıdaki gibidir.

sudo iotop

Komut çalıştırıldığında terminal üzerinde sürekli güncellenen canlı bir ekran açılır.

Bu ekran sayesinde;

  • Hangi uygulamanın diski kullandığını,
  • Ne kadar veri okuduğunu,
  • Ne kadar veri yazdığını,
  • Hangi işlemin Disk I/O beklediğini

anlık olarak takip edebilirsiniz.

Çoğu Linux dağıtımında tüm süreçleri görebilmek için sudo yetkisi gerekir.

iotop -o Ne İşe Yarar?

Varsayılan görünümde iotop, disk erişimi gerçekleştirmeyen işlemleri de listede gösterebilir.

Özellikle onlarca servisin çalıştığı VDS sunucularda bu durum ekranın gereksiz şekilde kalabalık görünmesine neden olur.

Bu nedenle en sık kullanılan parametrelerden biri -o seçeneğidir.

sudo iotop -o

Bu komut yalnızca o anda disk okuyan veya yazan işlemleri gösterir.

Örneğin;

PID   USER      DISK READ   DISK WRITE   COMMAND
3124  mysql        6.1 M/s      980 K/s   mysqld
4517  www-data     1.2 M/s      140 K/s   php-fpm

Bu görünüm sayesinde gerçekten disk kullanan uygulamaları çok daha hızlı tespit edebilirsiniz.

💡 İpucu: Eğer iostat çıktısında yüksek Disk I/O görüyorsanız ikinci adım olarak iotop -o çalıştırmanız, yükün hangi uygulamadan kaynaklandığını anlamanızı kolaylaştıracaktır. Disk seviyesindeki analiz hakkında daha fazla bilgi için iostat Nedir? Linux Disk I/O Performansı Nasıl Ölçülür? rehberimizi inceleyebilirsiniz.

🖥️ iotop -P Ne İşe Yarar?

Linux’ta bazı uygulamalar onlarca hatta yüzlerce thread oluşturabilir.

Varsayılan görünümde iotop bu thread’leri ayrı ayrı gösterebilir.

Örneğin;

  • MySQL
  • PostgreSQL
  • Java uygulamaları
  • Docker servisleri

çok sayıda iş parçacığı oluşturabilir.

Bu da ekranın okunmasını zorlaştırabilir.

sudo iotop -P

-P parametresi yalnızca ana process’leri gösterir.

Böylece çıktı çok daha sade ve anlaşılır hâle gelir.

🚀 iotop -oP Neden En Çok Kullanılır?

Linux sistem yöneticilerinin büyük bölümü performans analizi yaparken aşağıdaki komutu tercih eder.

sudo iotop -oP

Bu komut;

  • Yalnızca aktif Disk I/O oluşturan işlemleri gösterir.
  • Thread yerine process seviyesinde listeleme yapar.
  • Gereksiz satırları gizleyerek okunabilirliği artırır.

Yoğun çalışan üretim sunucularında ilk kontrol edilmesi gereken komutlardan biridir.

💡 İpucu: Eğer sunucunuzda belirli saatlerde performans sorunu yaşanıyorsa iotop -oP komutunu birkaç dakika açık bırakarak anlık yük oluşturan işlemleri yakalayabilirsiniz.

📈 iotop -a Ne İşe Yarar?

Varsayılan olarak iotop yalnızca anlık Disk I/O kullanımını gösterir.

Bazı durumlarda ise işlemlerin çalışmaya başladıkları andan itibaren oluşturdukları toplam Disk I/O miktarını görmek daha faydalıdır.

Bunun için aşağıdaki komutu kullanabilirsiniz.

sudo iotop -a

Bu özellik özellikle;

  • MySQL
  • PostgreSQL
  • Docker
  • Elasticsearch

gibi uzun süre çalışan servislerde oldukça kullanışlıdır.

Anlık kullanım düşük görünse bile toplam veri miktarı oldukça yüksek olabilir.

📄 Batch Modu (-b)

Performans sorunu her zaman siz terminal başındayken oluşmayabilir.

Bu gibi durumlarda iotop’u Batch Mode ile çalıştırabilirsiniz.

sudo iotop -b

Çıktıyı doğrudan bir dosyaya kaydetmek de mümkündür.

sudo iotop -b > iotop.log

Destek ekiplerine log gönderirken veya geçmiş performansı analiz ederken bu yöntem oldukça kullanışlıdır.

🔢 iotop -b -n 1 Ne İşe Yarar?

Script yazarken sürekli çalışan bir ekran yerine tek seferlik çıktı almak istenebilir.

Bunun için aşağıdaki komut kullanılabilir.

sudo iotop -b -n 1

Komut yalnızca bir örnekleme yapar ve ardından otomatik olarak sonlanır.

Monitoring sistemleri ve otomasyon scriptlerinde yaygın olarak tercih edilir.

⏱️ Yenileme Süresini Değiştirmek (-d)

Varsayılan yenileme süresi ihtiyacınıza göre uygun olmayabilir.

Aşağıdaki örnekte ekran her 5 saniyede bir güncellenmektedir.

sudo iotop -d 5

Yoğun çalışan sunucularda daha uzun yenileme aralıkları kullanmak çıktının daha rahat okunmasını sağlayabilir.

⚠️ Dikkat: iotop nedir sorusunun cevabını bilmek kadar çıktıyı doğru yorumlamak da önemlidir. Yüksek Disk I/O her zaman depolama altyapısının yetersiz olduğu anlamına gelmez. CPU, RAM ve Disk I/O birlikte değerlendirilmelidir. Bu konuda VDS Sunucuda Darboğaz Tespit Etmek: CPU, RAM ve Disk Analizirehberimiz de teşhis sürecinde size yardımcı olacaktır.

📊 iotop Çıktısını Doğru Yorumlamak Neden Önemlidir?

Birçok kullanıcı iotop ekranında en yüksek değere sahip işlemi gördüğünde doğrudan bunun sorunlu olduğunu düşünür. Ancak gerçek sistemlerde bu her zaman doğru değildir.

Örneğin yoğun trafik alan bir web sunucusunda mysqld işleminin listenin en üstünde yer alması normaldir. Aynı şekilde gece saatlerinde çalışan bir rsync yedekleme görevinin yüksek Disk I/O oluşturması da beklenen bir durumdur.

Önemli olan, görülen Disk I/O kullanımının sistemin normal çalışma düzeniyle uyumlu olup olmadığını değerlendirmektir.

Beklenmeyen saatlerde çalışan işlemler, sürekli büyüyen log dosyaları veya normalden fazla disk kullanan uygulamalar daha ayrıntılı incelenmelidir.

💡 İpucu: Eğer yoğun Disk I/O ile birlikte yüksek I/O Wait değerleri de görüyorsanız I/O Wait Nedir? VDS Sunucuda Disk Beklemesi Hızı Nasıl Etkiler? ve VDS Disk I/O Nedir? Sunucuda IOPS ve Disk Performansı Rehberi içeriklerimizi de inceleyerek performans analizini daha kapsamlı şekilde gerçekleştirebilirsiniz.

🔎 Gerçek Kullanım Senaryoları ile iotop Analizi

iotop nedir sorusunun cevabını öğrendikten sonra, gerçek hayatta karşılaşabileceğiniz senaryolar üzerinden ilerleyelim. Böylece yalnızca komutları öğrenmekle kalmayacak, elde ettiğiniz verileri nasıl yorumlayacağınızı da anlayabileceksiniz.

🗄️ Senaryo 1: MySQL Yoğun Disk I/O Oluşturuyor

Bir e-ticaret siteniz olduğunu düşünelim. Kullanıcılar sayfaların yavaş açıldığını bildiriyor ancak CPU ve RAM kullanımı normal seviyelerde görünüyor.

İlk olarak iostat Nedir? Linux Disk I/O Performansı Nasıl Ölçülür? rehberimizde anlattığımız gibi disk seviyesindeki performansı kontrol ettiğinizi ve yüksek Disk I/O tespit ettiğinizi varsayalım.

Şimdi aşağıdaki komutu çalıştırıyorsunuz.

sudo iotop -oP

Örnek çıktı:

PID   USER   DISK READ   DISK WRITE   COMMAND
2841  mysql    18.4 M/s      3.1 M/s   mysqld

Bu çıktı, mysqld işleminin yoğun Disk I/O oluşturduğunu gösterir.

Ancak bu durum tek başına MySQL’in hatalı çalıştığı anlamına gelmez.

Sebep aşağıdakilerden biri olabilir.

  • İndeks kullanılmayan sorgular
  • Büyük JOIN işlemleri
  • Uzun süren transaction’lar
  • Yoğun veri içe aktarma işlemleri
  • Otomatik yedekleme sırasında çalışan sorgular

Bu nedenle iotop yalnızca ilk teşhisi koyar. Ardından slow query logları, EXPLAIN çıktıları ve veritabanı optimizasyonu incelenmelidir.

💡 İpucu: MySQL sürekli listenin en üstünde görünüyorsa hemen sunucu yükseltmek yerine sorgu optimizasyonu yapmak çoğu zaman daha büyük performans kazancı sağlar.

🌐 Senaryo 2: PHP-FPM Beklenenden Fazla Disk Kullanıyor

Bir WordPress sitesinde CPU kullanımı düşük olmasına rağmen sayfalar geç açılıyor olabilir.

Aşağıdaki gibi bir çıktı görebilirsiniz.

PID   USER      DISK READ   DISK WRITE   COMMAND
5328  www-data    8.2 M/s      320 K/s   php-fpm

Bu durumda aşağıdaki ihtimaller değerlendirilmelidir.

  • WordPress önbelleği çalışmıyor olabilir.
  • Çok fazla küçük dosya okunuyor olabilir.
  • Ağır çalışan eklentiler sürekli dosya erişimi yapıyor olabilir.
  • Tema gereğinden fazla dosya okuyor olabilir.
  • Dosya tabanlı cache sistemi yanlış yapılandırılmış olabilir.

Özellikle yüksek trafikli WordPress sitelerinde bu durum sık görülebilir.

Sunucu performansını artırmak için VDS Sunucuda Performansın En Etkili 10 Yolu rehberimizde yer alan optimizasyon önerilerini de uygulayabilirsiniz.

🐳 Senaryo 3: Docker Sürekli Disk Yazıyor

Docker kullanan sistemlerde aşağıdaki gibi bir çıktı ile karşılaşabilirsiniz.

PID   USER   DISK READ   DISK WRITE   COMMAND
7482  root      820 K/s      12.4 M/s  dockerd

İlk bakışta Docker’ın sorun çıkardığı düşünülebilir.

Ancak bunun nedeni;

  • Sürekli büyüyen container logları,
  • Overlay filesystem,
  • Volume senkronizasyonları,
  • Image oluşturma işlemleri,
  • Veritabanı container’ları

olabilir.

Docker sürecini durdurmadan önce hangi container’ın yoğun I/O oluşturduğunu belirlemek çok daha doğru olacaktır.

⚠️ Dikkat: Docker’ın kendisi yerine container içerisinde çalışan uygulama asıl nedeni oluşturabilir. Bu nedenle yalnızca dockerd sürecine odaklanmak doğru olmayabilir.

💾 Senaryo 4: rsync ve Backup İşlemleri

Gece saatlerinde aşağıdaki gibi bir çıktı görmeniz tamamen normaldir.

PID   USER   DISK READ   DISK WRITE   COMMAND
9511  root     21.6 M/s      1.8 M/s   rsync

Bu durum, yedekleme işleminin aktif olarak çalıştığını gösterir.

Ancak aşağıdaki durumlar araştırılmalıdır.

  • Backup görevi gün içinde çalışıyorsa
  • Aynı görev sürekli tekrar ediyorsa
  • Yanlış yapılandırılmış senkronizasyon scriptleri varsa
  • Gereksiz dosyalar sürekli kopyalanıyorsa

Bu tür işlemler gereksiz Disk I/O oluşturabilir.

Yedekleme görevlerini planlarken Cron Job Nedir? Ne İşe Yarar? Nasıl Oluşturulur? ve VDS Sunucuda Crontab Nedir? Nasıl Kullanılır? rehberlerimiz de faydalı olacaktır.

📝 Senaryo 5: Log Dosyaları Diski Yoruyor

Bazı sunucularda yüksek Disk I/O’nun nedeni uygulamanın kendisi değil, sürekli büyüyen log dosyaları olabilir.

Örneğin;

PID   USER   DISK WRITE   COMMAND
1874  root      6.8 M/s    journald

veya

PID   USER      DISK WRITE   COMMAND
4428  www-data    5.4 M/s   nginx

Bu durum;

  • Çok ayrıntılı log seviyesi,
  • Sürekli oluşan uygulama hataları,
  • Hatalı çalışan servisler,
  • Döngüye giren scriptler

nedeniyle oluşabilir.

Log dosyalarının düzenli olarak yönetilmesi performans açısından önemlidir. Bu konuda VDS Sunucuda Log Yönetimi Nedir? Nasıl Yapılır? rehberimizden faydalanabilirsiniz.

💡 İpucu: Log dosyalarını tamamen kapatmak yerine yalnızca gereksiz kayıt seviyelerini azaltmak ve düzenli log rotasyonu uygulamak çok daha doğru bir yöntemdir.

🔄 Senaryo 6: Swap Nedeniyle Disk Kullanımı Artıyor

CPU kullanımı düşük olmasına rağmen sistem yavaş çalışıyorsa neden RAM yetersizliği olabilir.

Bu durumda iotop ekranında SWAPIN değerlerinin yükseldiğini görebilirsiniz.

Yoğun swap kullanımı;

  • Uygulamaların daha geç yanıt vermesine,
  • Disk erişimlerinin artmasına,
  • Genel sistem performansının düşmesine

neden olabilir.

Swap kullanımının nasıl çalıştığını daha ayrıntılı öğrenmek için Linux Swap Nedir? VDS Sunucuda RAM Yetmediğinde Ne Olur? rehberimizi de inceleyebilirsiniz.

⚖️ iostat ve iotop Birlikte Nasıl Kullanılmalıdır?

Birçok sistem yöneticisi yalnızca iotop çıktısına bakarak karar vermeye çalışır. Oysa doğru yöntem, birden fazla aracı birlikte kullanmaktır.

Önerilen analiz sırası aşağıdaki gibidir.

1. Adım: Disk seviyesindeki performansı iostat Nedir? Linux Disk I/O Performansı Nasıl Ölçülür? rehberiyle analiz edin.

2. Adım: Eğer Disk I/O yüksek görünüyorsa aşağıdaki komutu çalıştırın.

sudo iotop -oP

3. Adım: En fazla Disk I/O oluşturan process’i belirleyin.

4. Adım: Bunun beklenen bir sistem davranışı mı yoksa olağan dışı bir durum mu olduğunu değerlendirin.

5. Adım: CPU, RAM, Swap ve I/O Wait değerlerini birlikte analiz edin.

Performans sorunlarını yalnızca disk üzerinden değerlendirmek yerine tüm sistem kaynaklarını birlikte incelemek daha doğru sonuç verecektir. Bu konuda VDS Sunucuda Darboğaz Tespit Etmek: CPU, RAM ve Disk Analizi rehberimiz kapsamlı bir yol haritası sunmaktadır.

⚠️ Dikkat: Özellikle SSD ve NVMe depolama kullanan modern VDS sunucularında anlık yüksek Disk I/O değerleri her zaman performans sorunu anlamına gelmez. iotop nedir sorusunun cevabını doğru uygulayabilmek için iotop verilerini iostat, I/O Wait, CPU ve RAM metrikleriyle birlikte değerlendirmek gerekir.

❓ Sık Sorulan Sorular (SSS)

iotop nedir?

iotop, Linux işletim sistemlerinde çalışan işlemlerin gerçek zamanlı Disk I/O kullanımını gösteren bir komut satırı aracıdır. Hangi process’in diski kullandığını, ne kadar veri okuduğunu ve yazdığını görüntüleyerek performans sorunlarının kaynağını tespit etmeye yardımcı olur.

iotop hangi işletim sistemlerinde kullanılabilir?

iotop, Linux tabanlı işletim sistemlerinde kullanılabilir. Ubuntu, Debian, AlmaLinux, Rocky Linux, RHEL, CentOS ve Arch Linux gibi birçok dağıtım tarafından desteklenmektedir.

iotop çalıştırmak için root yetkisi gerekir mi?

Çoğu durumda evet. Tüm süreçleri ve doğru Disk I/O bilgilerini görüntüleyebilmek için sudo veya root yetkisi önerilir. Yetkisiz çalıştırıldığında bazı işlemler listelenmeyebilir veya eksik bilgiler gösterilebilir.

iotop ile iostat arasındaki fark nedir?

iotop, hangi işlemin Disk I/O oluşturduğunu gösterirken iostat disk veya blok aygıtı seviyesindeki performans istatistiklerini gösterir.

Özetle;

  • iostat: Disk nasıl çalışıyor?
  • iotop: Diski hangi işlem kullanıyor?

Her iki aracı birlikte kullanmak çok daha doğru analiz yapılmasını sağlar. Disk seviyesindeki performans metrikleri hakkında ayrıntılı bilgi için iostat Nedir? Linux Disk I/O Performansı Nasıl Ölçülür? rehberimizi inceleyebilirsiniz.

iotop yüksek Disk I/O gösteriyorsa disk arızalı mıdır?

Hayır.

Yüksek Disk I/O her zaman donanımsal bir arıza anlamına gelmez. Yoğun çalışan veritabanları, yedekleme işlemleri, log kayıtları veya yüksek trafikli web uygulamaları da yüksek Disk I/O oluşturabilir.

Bu nedenle iotop çıktısı; CPU, RAM, Swap ve I/O Wait gibi diğer sistem metrikleriyle birlikte değerlendirilmelidir.

iotop -o ne işe yarar?

iotop -o yalnızca aktif olarak Disk I/O gerçekleştiren işlemleri gösterir. Böylece disk kullanmayan süreçler listelenmez ve yoğun Disk I/O oluşturan uygulamaları tespit etmek kolaylaşır.

iotop -P ne işe yarar?

iotop -P parametresi thread yerine yalnızca ana process’leri listeler. Çok sayıda iş parçacığı kullanan uygulamalarda çıktının daha okunabilir olmasını sağlar.

iotop -a ne işe yarar?

iotop -a, işlemlerin çalışmaya başladıkları andan itibaren gerçekleştirdikleri toplam Disk I/O miktarını gösterir. Özellikle uzun süre çalışan servislerin genel disk kullanımını analiz etmek için faydalıdır.

iotop üretim sunucularında güvenle kullanılabilir mi?

Evet.

iotop bir benchmark aracı değildir. Sistemde ek yük oluşturmadan mevcut Disk I/O kullanımını izlemek için geliştirilmiştir. Bu nedenle üretim ortamlarında teşhis amacıyla güvenle kullanılabilir.

iotop ile Linux sunucularda Disk I/O analizi yapan AydınCloud VDS performans rehberi.
iotop kullanarak Linux sunucularda Disk I/O oluşturan işlemleri tespit edin ve performans sorunlarını daha hızlı analiz edin.

🎯 Sonuç

iotop, Linux sistem yöneticileri için Disk I/O kaynaklı performans sorunlarını analiz ederken en faydalı araçlardan biridir. Bir sunucuda yalnızca disk kullanımının arttığını görmek çoğu zaman yeterli değildir. Asıl önemli olan, bu yükü hangi uygulamanın oluşturduğunu doğru şekilde belirleyebilmektir.

Bu rehberde iotop nedir, iotop ne işe yarar, Linux’ta iotop nasıl kurulur, en sık kullanılan komutlar, gerçek kullanım senaryoları ve çıktının nasıl yorumlanacağı gibi temel konuları ayrıntılı şekilde ele aldık.

Ancak unutulmaması gereken önemli bir nokta vardır. iotop, tek başına kesin teşhis aracı değildir. Sağlıklı bir performans analizi için elde edilen veriler; iostat Nedir? Linux Disk I/O Performansı Nasıl Ölçülür?, I/O Wait Nedir? VDS Sunucuda Disk Beklemesi Hızı Nasıl Etkiler? ve VDS Sunucuda Darboğaz Tespit Etmek: CPU, RAM ve Disk Analizi rehberlerimizde anlattığımız diğer performans metrikleriyle birlikte değerlendirilmelidir.

Modern SSD ve NVMe depolama kullanan VDS sunucularında doğru teşhis, yalnızca tek bir metriğe bakılarak değil; CPU, RAM, Disk I/O, I/O Wait ve uygulamanın çalışma yükü birlikte analiz edilerek yapılmalıdır. Bu yaklaşım, gereksiz donanım yükseltmelerinin önüne geçerken gerçek performans sorunlarının çok daha hızlı tespit edilmesini sağlar.

Sunucunuzun yüksek performanslı SSD veya NVMe depolama altyapısında kararlı çalışmasını istiyorsanız VDS Sunucu çözümlerimizi inceleyebilir, güçlü donanım altyapısı ve yüksek disk performansı sayesinde uygulamalarınızı güvenle çalıştırabilirsiniz.

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