GNU/Linux >> Belajar Linux >  >> Linux

Linux - Bagaimana saya bisa melihat apa yang menunggu disk IO

Solusi 1:

Anda dapat menggunakan monitor I/O seperti iotop, tetapi ini hanya akan menampilkan proses atau utas dengan operasi I/O saat ini.

Jika Anda perlu menjelajahi proses yang menunggu I/O, gunakan jam tangan untuk memantau proses dengan bendera STAT 'D' seperti di bawah:

watch -n 1 "(ps aux | awk '\$8 ~ /D/  { print \$0 }')"

Solusi 2:

ps axu dan cari proses yang berada dalam status "D". Berdasarkan halaman manual ps(1), proses yang berada dalam status D berada dalam kondisi tidur yang tidak dapat diinterupsi, yang hampir selalu berarti 'menunggu IO'. Sayangnya, menghentikan proses ini biasanya tidak mungkin dilakukan.

Solusi 3:

Jawaban Zanchey adalah yang terbaik yang saya tahu untuk mencari tahu apa yang menunggu IO.

Ketika Anda mengatakan server Anda sedang dalam beban tinggi, apa yang Anda maksud dengan itu? Ada sesuatu yang lambat merespons?

Jika Anda bertanya-tanya apakah Disk IO Anda adalah hambatannya, saya akan menggunakan perintah iostat (bagian dari paket sysstat) untuk melihat apakah disk benar-benar berada di bawah beban berat.

Contoh:

[[email protected]: ~] iostat -x 1 3                                                                                           

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           2.38   34.71    2.64    1.18    0.00   59.21 
Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.11    17.35    2.21   20.31    46.57   301.40    15.45     2.27  100.66   1.48   3.34
sda1              0.10    17.31    2.21   20.31    46.48   301.10    15.44     2.27  100.66   1.48   3.34
sda2              0.00     0.00    0.00    0.00     0.00     0.00     3.50     0.00   30.00  30.00   0.00
sr0               0.00     0.00    0.00    0.00     0.00     0.00    18.44     0.00  677.67 512.61   0.00

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           6.22    0.00    4.31    0.00    0.00   89.47   
Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
sda1              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
sda2              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
sr0               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00

Linux
  1. Bagaimana saya bisa menghubungkan file di Linux?

  2. Bagaimana cara melihat perintah linux yang paling sering saya gunakan?

  3. Bagaimana cara mengetahui versi Linux yang saya gunakan?

  1. Cara mempartisi disk di Linux

  2. Linux – Bagaimana Mengetahui Apa yang Harus Diambil Di Dmesg?

  3. Bagaimana saya bisa memantau disk io?

  1. Linux – Referensi Tapi Untuk Linux?

  2. Apa itu penerusan IP di Linux? Bagaimana cara mengaktifkan penerusan IP?

  3. Bagaimana cara saya secara terprogram mendapatkan ruang disk kosong untuk direktori di Linux