Penurunan kinerja I / O yang masif dan tidak dapat diprediksi di Linux


11

Saya menggunakan pengujian Debian tanpa masalah selama ~ 6 tahun (Saya hanya memperbaruinya secara berkala), tetapi baru-baru ini mulai menunjukkan perilaku acak yang dapat diringkas sebagai "Kinerja I / O rendah yang bertahan hingga reboot".

Masalahnya adalah, tiba-tiba semua disk membaca dan menulis melambat hingga ~ 5MB / detik yang menghasilkan baca dan tulis terus menerus. Karena laju sangat rendah, disk tidak secara mekanis tertantang atau tertekan, tetapi semuanya melambat hingga saya reboot.

Subsistem I / O komputer terdiri dari satu OCZ Vertex 3 SSD dan dua WD Caviar Black HDD. SSD memegang bagian read-heavy dari OS dan sebuah partisi pada HDD memegang sisanya.

Untuk mendiagnosis masalah, saya mencoba yang berikut ini tanpa hasil:

  • top tidak menunjukkan aktivitas pelarian, baik dalam penggunaan CPU maupun I / O.
  • hdparmmengembalikan peringkat kinerja normal dari disk (saya hanya memeriksa -t).
  • smartctltidak menunjukkan masalah kinerja dalam disk. Tes panjang menunjukkan bahwa disk sama baiknya dengan yang baru.

Sistem memiliki Z77 Chipset, 16GB RAM dan Intel i7 3770K CPU dan statistik tidak menunjukkan tanda-tanda kejenuhan dalam RAM, I / O atau CPU, tapi saya tidak mengalami masalah debug seperti ini (terutama dalam ruang kernel). Bantuan apa pun akan dihargai.

Pembaruan 1:

  • Saya menjalankan (memaksa) fsck di setiap partisi sebagai tindakan pencegahan. Semua FS bersih.
  • Kebetulan saya menemukan upgrade BIOS yang keluar sebulan yang lalu & menerapkannya.
  • Tidak ada partisi yang diisi lebih dari 50%.

Pembaruan 2:

Masalahnya tidak muncul ke permukaan selama dua hari. Entah fsckatau pembaruan BIOS membersihkan beberapa bakiak dalam sistem. Saya masih memantau masalah ini dan akan menutup pertanyaan dengan jawaban post-mortem.

Pembaruan 3:

Masalah baru saja muncul kembali dan saya melakukan penggalian lagi. Silakan lihat jawabannya.


1
bisa jadi masalah fragmentasi atopakan memberi tahu Anda seberapa sibuk disk (seperti saat mencari sepanjang waktu).
Stéphane Chazelas

1
Hanya untuk menyingkirkan beberapa kebiasaan, menonaktifkan NCQ dan mengatur I / O scheduler untuk noop.
frostschutz

1
"Performa I / O rendah yang bertahan hingga reboot" bisa menjadi alat yang rusak / buggy yang terlalu sering menggunakan bus terlalu lama yang sulit didiagnosis ketika menukar perangkat keras.
msw

1
Kemudian hal berikutnya pada lsit saya untuk memeriksa adalah untuk memeriksa log untuk kesalahan dan memeriksa ada banyak memori yang dialokasikan untuk buffer / cache (lihat output free)
symcbean

1
Anda mungkin dapat melihat iowaitdll jika Anda mengumpulkan data sar. Saya akan aktifkan sysstatjika belum berjalan. Anda dapat memeriksa dengan sar -Asebagian besar platform memiliki interval sampel sepuluh menit.
Bratchley

Jawaban:


12

Saya berhasil mereproduksi masalah lagi dan itu adalah hasil dari cache disk yang besar. Tembolok disk saya dapat tumbuh lebih dari 8GB dan tampaknya beberapa aplikasi tidak menyukainya dan saya menderita.

Menjatuhkan cache disk echo 3 > /proc/sys/vm/drop_cachessebagai root memulihkan masalahnya. Saat ini saya tidak tahu mengapa cache disk yang besar menyebabkan degradasi I / O ini.

Pembaruan Terakhir: Setelah penyelidikan lebih lanjut, saya mengetahui bahwa jumlah file dalam cache memicu masalah. Itu menghancurkan disk ketika mencoba melakukan banyak file kecil kembali ke disk. Karena saya menggunakan sistem selama sepuluh tahun, saya telah mengambil risiko dan menginstal ulang dengan 64-bit Debian. Sekarang bekerja dengan lancar. Itu mungkin efek samping dari sepuluh tahun upgrade dengan batas menemukan sistem operasi 32 bit.


2

Apakah ada pesan yang mencurigakan dmesg?

Beberapa alat lain yang bisa Anda coba untuk mendapatkan wawasan tentang kemacetan sistem Anda:

  • dstat
  • latencytop
  • sysprof

Tidak ada yang mencurigakan dalam log apa pun. TBH tidak ada entri log yang terkait dengan masalah ini. Saya akan mencoba alatnya. Seharusnya tidak ada hambatan dalam PC kelas atas saat duduk dalam keadaan diam tanpa ada yang berjalan di atasnya. Saya pikir cache atau sesuatu yang berhubungan dengan subsistem I / O serba salah.
bayindirh

.... dan iotop,
fio
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.