Disk io'yu nasıl izleyebilirim?


Yanıtlar:


225

Disk G / Ç eğilimi için birkaç seçenek vardır. Benim kişisel favorim saremirdir sysstat. Varsayılan olarak, şöyle çıktı verir:

09:25:01 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
09:35:01 AM     all      0.11      0.00      0.01      0.00      0.00     99.88
09:45:01 AM     all      0.12      0.00      0.01      0.00      0.00     99.86
09:55:01 AM     all      0.09      0.00      0.01      0.00      0.00     99.90
10:05:01 AM     all      0.10      0.00      0.01      0.02      0.01     99.86
Average:        all      0.19      0.00      0.02      0.00      0.01     99.78

%iowaitI / O bekleyen harcanan zamandır. Debian paketini kullanarak, /etc/default/sysstatpaket kurulumundan sonra stat toplayıcısını config dosyası üzerinden etkinleştirmelisiniz .

Akım kullanımının cihazdan ayrıldığını görmek için iostat, sysstat paketinden de komutu kullanabilirsiniz :

$ iostat -x 1
Linux 3.5.2-x86_64-linode26 (linode)    11/08/2012      _x86_64_        (4 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.84    0.00    0.08    1.22    0.07   97.80

Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
xvda              0.09     1.02    2.58    0.49   112.79    12.11    40.74     0.15   48.56   3.88   1.19
xvdb              1.39     0.43    4.03    1.82    43.33    18.43    10.56     0.66  112.73   1.93   1.13

Eğilim gösteren grafiklerde disk kullanımını gösterebilen diğer bazı seçenekler munin ve kaktüslerdir .


Munin veya Cacti daha çok aradığım şey. İşaretçiler için teşekkürler.
camomileCase

6
% İowait'in yalnızca çekirdeğin yapacak başka bir şeyi olmadığı zamanları gösterdiğini ve IO'yu beklediğini unutmayın. % 100 CPU bağlantılı bir sunucuda, ne kadar GÇ yapıyor olursa olsun bu sıfır olacaktır.
Jürgen Strobel

iostat -x dm-0 | grep Cihazı; iostat -xd 2 -y dm-0 | grep dm-0
Juan Medina

104

İotop'a bir göz atın.

Ya da iodump, eğer bu senin düşünme biçiminin altındaysa.

Not: Bunun çalışması için en azından çekirdek 2.6.20 gerekir.


Bu sadece Linux değil, aynı zamanda daha yeni (ya da yamalı) bir çekirdeği gerektirir.
Ürdün

Bunlar şu anda neler olup bittiğini bulmak için iyi görünüyor, ancak daha büyük resim izleme için arıyorum.
camomileCase

8
@ camomileCase - Sorunuzda bunu belirtmediniz ...
Tink

90

Sevdiğim dstat. Disk başına toplamları ve istatistikleri ve hatta md cihazlarını (RAID) gösterebilir, daha iyi genel bakış için renkleri kullanabilir:

$ dstat -tdD total,sda,sdb,sdc,md1 60 
----system---- -dsk/total----dsk/sda-----dsk/sdb-----dsk/sdc-----dsk/md1--
     time     | read  writ: read  writ: read  writ: read  writ: read  writ
08-11 22:08:17|3549k  277k: 144k   28k: 851k   62k: 852k   60k:  25k   82k
08-11 22:09:17|  60k  258k:1775B   15k:  13k   63k:  15k   60k:  68B   74k
08-11 22:10:17| 176k  499k:   0    14k:  41k  122k:  41k  125k: 273B  157k
08-11 22:11:17|  42k  230k:   0    14k:9830B   54k:  14k   51k:   0    70k
08-11 22:11:52|  28k  132k:   0  5032B:5266B   33k:9479B   28k:   0    37k
  • -t zaman damgası için
  • -d disk istatistikleri için
  • -D rapor edilecek tam cihazları belirtmek için
  • 6060 saniyeden fazla ortalama. Ekran her saniye güncellenir, ancak yalnızca 60 saniyede bir kez yeni bir satır başlatılır.

  • bu örnekte kullanılmamıştır, ancak -cçoğu durumda disklerden veri bekleyen CPU ile ilgili olan bekleme IO yüzdesini rapor edebilir.

Çoğu Linux dağıtımı için kullanılabilir, ancak bazen depolardan yüklenmesi gerekir.


49

Sadece bilgisayarınızdaki dosyalardan (yeni bir çekirdek varsayarak) sorabilirsiniz /sys/block/sda/statveya /proc/diskstats. Bununla birlikte, biraz çeviri gerektirecektir. Ama hızlı ve kirli bir kontrol için güzel.


22
/sys/block/sda/statEn belgelenmiştir https://www.kernel.org/doc/Documentation/block/stat.txt
ignis


2
Bu cevabın büyük avantajı, hiçbir aracın kurulmasına gerek olmamasıdır. Sadece orada. (Potansiyel olarak :-)
Ben Aveling

2
örneğin, echo "birleştirme sektörlerini okuyan keneleri yaz, birleştirme sektörlerini kenetlenen ioticks timeinqueu'yu keneler"; kedi / sys / blok / vda / vda1 / stat; uyku 10; kedi / sys / blok / vda / vda1 / stat
Ben Aveling

35

Başka bir seçenek kullanmaktır: sudo iotop -aoP

-a    Will show accumulated output
-o    Will only output 
-P    Will only show processes instead of threads

Bu program size bir sürecin diske ne kadar yazdığını ve iotop başlatıldığından beri diskten okuduğunu söyleyecektir.


Diske erişen bir şey duyuyorum, ancak biriken çıktı çok yavaş artıyor, bazen bir saniyede hiç değil ... ???
Michael

Diski duyarsanız, muhtemelen eski ve / veya yavaş olabilir. Modern HDD'ler çok sessiz olma eğilimindedir. Ne tür sesler çıkarıyor? smartctlDiskin sağlıklı olup olmadığını görmek için kullanın .
rudolfbyker

8

İzleme Diski Io, aşağıdaki gibi birçok araçla yapılabilir.

  1. iostat
  2. Iozone
  3. SAR
  4. vmstat

Ayrıca bazı önemli işletim sistemi kavramları çok gerekli them..read anlamak olan Linux IO tam öğretici


2
iozone test etmek içindir, izleme değil: "Iozone bir dosya sistemi kıyaslama aracıdır. Karşılaştırma çeşitli dosya işlemleri üretir ve ölçer."
Andrew Beals

7

Yükün geldiği yere hızlı bir bakış için bir başka harika araç atop

Size tüm kaynaklar hakkında genel bir bakış gösterebilir (CPU, bellek / takas, ağ ve disk G / Ç) veya tek bir kaynağa inebilir ve işlemleri ne kadar tükettiklerini sıralayabilirsiniz.



1

Uzun bir süre üzerinde performans kullanmaktır görmek istiyorsanız yapılacak en iyi şey Centreon güçlü araçlar üzerine inşa olduğunu Nagios . Centreon, kaynağın performanslarının grafiklerini çizerek izleyebilmenizi sağlar.


Başka ne var? Ekran görüntüsü var mı? Lütfen cevabınızı genişletin.
Konrad Gajewski
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.