Linux Sistemlerinde Disk I/O Aktivitesini İzleme

optimize disk IO linux cpynet

Bu yazıda, Linux sistemlerinde disk I/O (Giriş/Çıkış) aktivitesini nasıl izleyebileceğimizi tartışacağız. Bu, bir sistemi yönetirken önemli bir görevdir. Diskten veri geri almak zaman alır ve bu sebeple disk I/O alt sistemi genellikle sistemin en yavaş kısmı olarak kabul edilir. Disk I/O performansı düşükse tüm sistem yavaşlayabilir.

Bu yüzden disk performansını düzenli olarak kontrol etmek gerekir. Sisteminizde bir darboğaz olup olmadığını ve varsa bunun nedenini tespit etmeliyiz. Ayrıca hangi işlemin I/O talebinin tamamlanmasını beklediğini de anlamak önemlidir. Bunun için iostat, iotop, sar ve vmstat gibi araçları kullanarak Linux sistemlerindeki disk I/O performansını inceleyeceğiz.

1. Gerekli Araçların Kurulumu

Başlamadan önce, bu araçların sistemimizde yüklü olduğundan emin olmalıyız. Eğer yüklü değillerse, kurulum işlemini gerçekleştirmemiz gerekecek. iostat, vmstat ve sar araçları sysstat paketinin bir parçasıdır. iotop aracı ise iotop paketinin bir parçasıdır.

Debian, Ubuntu veya türevlerinde kurulum için şu komutları çalıştırabilirsiniz:

$ sudo apt-get install sysstat
$ sudo apt-get install iotop

RHLE, CentOS ve Fedora sistemleri için ise şu komutları kullanabilirsiniz:

$ sudo dnf install sysstat
$ sudo dnf install iotop

2. Disk I/O İstatistiklerini Raporlama

İlk olarak, genel bir disk I/O aktivitesi görünümü elde etmek faydalı olacaktır. Bu noktada, iostat komutu oldukça kullanışlı ve anlaşılır bir araçtır. iostat, giriş/çıkış istatistiklerini gösterir ve CPU ile disk aygıtlarının kullanım oranlarını raporlar.

Disk I/O aktivitelerine odaklanmak için -d seçeneğini kullanarak sadece disk aktivitelerini görüntüleyebiliriz:

$ iostat -d 
Linux 5.13.12-100.fc33.x86_64 (cpynet)    _x86_64_ (4 CPU)

Device             tps    kB_read/s    kB_wrtn/s    kB_dscd/s    kB_read    kB_wrtn    kB_dscd
dm-0              4.84        48.24        35.44         0.00   15064145   11067448          0
dm-1              1.00         1.41         2.60         0.00     440364     812036          0

Bu komutu belirli aralıklarla tekrarlamak isterseniz, komuta saniye cinsinden bir aralık ekleyebilirsiniz. Örneğin, iki saniyede bir rapor almak için:

$ iostat -d 2

iostat, sistemdeki tüm cihaz aktiviteleri hakkında bilgi verir. Blok cihazlar ve bu cihazların tüm bölümleri hakkında istatistikler görmek isterseniz -p seçeneğini kullanabilirsiniz:

$ iostat -d -p sda

Sadece gerçekten aktif olan disk veya bölümler hakkında bilgi almak istiyorsanız, -z seçeneği ile sıfır değerlerine sahip cihazları atlayabilirsiniz:

$ iostat -d -z 2

3. Darboğaz Oluşturan İşlemi Tespit Etme

Disk I/O aktivitelerini izlemek her zaman yeterli olmayabilir. Bazen hangi işlem veya iş parçacığının yoğun I/O aktivitelerine sebep olduğunu tespit etmek gerekir. iotop komutu bu durumda işimize yarar. iotop, her işlem veya iş parçacığı tarafından gerçekleştirilen disk aktivitelerini gerçek zamanlı olarak gösteren interaktif bir araçtır. iotop komutunu çalıştırmak için root yetkilerine veya NET_ADMIN yeteneğine sahip olmanız gerekir.

Ayrıca, aşağıdaki çekirdek seçeneklerinin etkin olup olmadığını kontrol etmelisiniz:

$ egrep '(CONFIG_VM_EVENT_COUNTERS|TASK_IO_ACCOUNTING|CONFIG_TASKSTATS|TASK_DELAY_ACCT)' /boot/config-$(uname -r)

iotop komutunu çalıştırdığınızda, her işlem veya iş parçacığı tarafından gerçekleştirilen disk I/O aktivitelerini görebilirsiniz:

$ sudo iotop

Sadece gerçekten I/O aktivitesi gerçekleştiren işlemleri görmek isterseniz, -o seçeneğini kullanabilirsiniz:

$ sudo iotop -o

İş parçacıklarını göstermemek için -P seçeneğini kullanabilirsiniz:

$ sudo iotop -oP

4. Disk I/O İstatistiklerini Zamanla Toplama

Gerçek zamanlı disk aktivitelerini izlemeyi öğrendik ancak bazı durumlarda belirli bir zaman diliminde istatistik toplamak gerekebilir. sar aracı bu amaçla kullanılabilir. sar, sistemdeki çeşitli kaynakların kullanım istatistiklerini toplar ve raporlar.

$ sar -d 1 5

Bu komut her saniye bir rapor oluşturur ve toplamda beş rapor alır. sar aracını kullanarak belirli bir zaman aralığı boyunca disk performansını gözlemleyebilirsiniz.

Sonuç

Bu yazıda Linux sistemlerinde disk I/O aktivitelerini izlemek için kullanabileceğiniz temel araçları inceledik. iostat, iotop, sar ve vmstat gibi araçlar yardımıyla disk performansınızı kontrol edebilir ve olası darboğazları tespit edebilirsiniz. Sistem yöneticileri için düzenli disk performansı izlemesi yapmak, sistemin genel performansını iyileştirmede önemli bir adımdır. Cpynet sunucunuzda bu araçları kullanarak disk I/O performansınızı gözlemleyebilir ve gerektiğinde iyileştirmeler yapabilirsiniz.

Önceki Konu

UFW Firewall Kurallarını Listeleme ve Silme

Sonraki Konu

Socat ile TCP ve UDP Bağlantılarını Yönetin

Bültenimize Abone Olun 📬

En son gönderilerimizin doğrudan e-posta kutunuza gelmesi için e-posta bültenimize abone olun.
Düşüncelerinizi özgür bırakın ✨