Linux'ta büyük, öngörülemeyen G / Ç performans düşüşü


11

Debian testini ~ 6 yıldır sorunsuz bir şekilde kullanıyorum (sadece düzenli olarak güncelliyorum), ancak son zamanlarda "Yeniden başlatılıncaya kadar devam eden düşük G / Ç performansı" olarak özetlenebilecek rastgele bir davranış göstermeye başladı.

Sorun, aniden tüm disklerin okuma ve yazma işlemlerinin ~ 5MB / sn'ye kadar yavaşlamasıdır, bu da sürekli okuma ve yazma ile sonuçlanır. Oran çok düşük olduğundan, diskler mekanik olarak zorlanmaz veya vurgulanmaz, ancak yeniden başlatılıncaya kadar her şey yavaşlar.

Bilgisayarın I / O alt sistemi bir OCZ Vertex 3 SSD ve iki WD Caviar Black HDD'den oluşur. SSD işletim sisteminin ağır bölümünü tutar ve diğerlerini HDD'nin bir bölümü tutar.

Sorunu teşhis etmek için aşağıdakileri başarıyla denedim:

  • top ne CPU'da ne de G / Ç kullanımında herhangi bir kontrolden çıkma etkinliği göstermez.
  • hdparmdisklerin normal performans değerlerini döndürür (yalnızca kontrol ettim -t).
  • smartctldisklerde performans sorunu göstermez. Uzun testler disklerin yeni kadar iyi olduğunu gösterdi.

Sistem Z77 Yonga Seti, 16GB RAM ve Intel i7 3770K CPU'ya sahiptir ve istatistikler RAM, I / O veya CPU'da doygunluk belirtileri göstermez, ancak bu gibi sorunları (özellikle çekirdek alanında) ayıklamak için deneyimli değilim. Herhangi bir yardım takdir edilecektir.

Güncelleme 1:

  • Önlem olarak her bölüme fsck koştum. Tüm FS temiz.
  • Bu arada bir ay önce çıkan ve uygulayan bir BIOS yükseltmesi buldum.
  • Hiçbir bölüm% 50'den fazla doldurulmaz.

Güncelleme 2:

Sorun iki gündür ortaya çıkmıyor. Ya fsckBIOS güncellemesi sistemdeki bazı tıkanıklıkları temizledi. Sorunu hala izliyorum ve soruyu ölüm sonrası cevapla kapatacağım.

Güncelleme 3:

Sorun yeniden ortaya çıktı ve biraz daha kazma yaptım. Lütfen cevaba bakınız.


1
parçalanma sorunu atopdisklerin ne kadar meşgul olduğunu söyleyebilir (her zaman ararken olduğu gibi).
Stéphane Chazelas

1
Bazı tuhaflıkları ekarte etmek için NCQ'yu devre dışı bırakın ve G / Ç zamanlayıcısını ayarlayın noop.
frostschutz

1
"Yeniden başlatma işlemine kadar devam eden düşük G / Ç performansı", otobüsü çok uzun süre çok sık ele geçiren ve donanım değiştirmenin kısa olduğunu teşhis etmek çılgınca zor olan kırık / buggy bir cihaz olabilir.
msw

1
Sonra kontrol etmek benim lsit sonraki şey hataları için günlükleri kontrol ve arabellek / önbellek (çıkış bakın ) tahsis bellek bol olup olmadığını kontrol etmek olacaktırfree
symcbean

1
iowaitSar veri topluyorsanız vb . Görebilirsiniz . sysstatZaten çalışmıyorsa etkinleştiririm . sar -AÇoğu platformda on dakikalık örnek aralığı olup olmadığını kontrol edebilirsiniz .
Bratchley

Yanıtlar:


12

Sorunu yeniden oluşturmayı başardım ve bu büyük bir disk önbelleğinin sonucuydu. Disk önbelleklerim 8 GB'den fazla büyüyebilir ve bazı uygulamaların beğenmediği ve G / Ç'nin acı çektiği görülüyor.

Disk önbelleklerini echo 3 > /proc/sys/vm/drop_cacheskök olarak bırakmak sorunu çözer. Şu anda büyük disk önbelleklerinin neden bu G / Ç bozulmasına neden olduğunu bilmiyorum.

Son Güncelleme: Daha fazla araştırmanın ardından önbellekteki dosya sayısının sorunu tetiklediğini öğrendim. Birçok küçük dosyayı diske geri aktarmaya çalışırken diskleri çöpe atıyordu. Sistemi on yıldır kullandığımdan beri, dalmayı aldım ve 64 bit Debian ile yeniden kurdum. Şimdi sorunsuz çalışıyor. Muhtemelen 32 bit işletim sisteminin limitlerini bulmakla birlikte on yıllık yükseltmenin bir yan etkisiydi.


2

Şüpheli mesaj var dmesgmı?

Sisteminizin darboğazlarına ilişkin bazı bilgiler edinmeye çalışabileceğiniz bazı araçlar:

  • dstat
  • latencytop
  • sysprof

Hiçbir günlükte şüpheli bir şey yok. TBH bu sorunla ilgili günlük girişi yok. Yine de araçları deneyeceğim. Boşta otururken üzerinde herhangi bir şey olmadan üst düzey bir bilgisayarda bir darboğaz olmamalıdır. Bence bir önbellek ya da G / Ç alt sistemi ile ilgili bir şey ters gidiyor.
bayındırh

.... ve iotop, fio
symcbean
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.