Kadang-kadang server saya akan menampilkan rata-rata beban tinggi dalam program "atas" (mis. Memuat ~ 10 pada mesin 4-core), tetapi penggunaan CPU yang sebenarnya tidak terlalu tinggi.
Saya berasumsi masalahnya adalah bahwa ada banyak pekerjaan intensif I / O berjalan. Apakah ada cara mudah untuk mengidentifikasi pekerjaan ini yang menyebabkan beban, jika nilai "% CPU" mereka di atas tidak setinggi itu?
top
perintah?Jawaban:
iostat
dapat melaporkan statistik seperti itu. Biasanya termasuk dalam distro Anda dalam paket sysstat.dstat juga layak untuk dilihat, ini adalah pengganti modern.
sumber
iostat
akan menjadi jawaban saya .Jika Anda memiliki akuntansi IO di kernel Anda, maka Anda dapat menggunakannya
iotop
untuk memberikan informasi seperti itu. Juga, alat pemantauan seperti collectd dapat merekam dan melaporkan data.sumber
Untuk menemukan apa yang menyebabkan beban tinggi, Anda dapat memeriksa beberapa hal.
vmstat -w
akan menunjukkan kepada Anda ovierwiem (proses, swap, mem, cpu, io, sistem)pmstat -P ALL
akan memberikan Anda statistik (dengan% iowait) per inti cpuiostat -x
mencari util% tinggi atau lama menunggu atau ukuran antrian rata-rata besariotop
ps -ax
cari status D yang tidak dapat diganggu tidur (biasanya IO), jalankan sekali lagi periksa apakah masih dalam kondisi Dsar -b
- keseluruhan aktivitas iosar -d
- Kegiatan individu blok perangkat iosumber