Jika saya menggunakan "top", saya dapat melihat CPU mana yang sibuk dan proses apa yang menggunakan semua CPU saya.
Jika saya menggunakan "iostat -x", saya dapat melihat drive mana yang sibuk.
Tapi bagaimana cara melihat proses apa yang menggunakan semua throughput drive?
linux
io
performance
system-administration
iostat
Matthew Crumley
sumber
sumber
Jawaban:
Anda sedang mencari
iotop
(dengan asumsi Anda memiliki kernel> 2.6.20 dan Python 2.5). Jika gagal, Anda akan mencoba menghubungkan ke sistem file. Saya merekomendasikan yang pertama.sumber
iotop
tampaknya menampilkan bandwidth I / O daripada jumlah IOPS yang dikonsumsi oleh proses. Ini tidak terlalu relevan. Sebuah proses yang melakukan banyak penulisan kecil + sinkronisasi akan menghabiskan lebih banyak kapasitas IO disk daripada proses yang menulis kumpulan data bersebelahan yang besar dengan kecepatan tinggi.[jdb2/nvme0n1p1]
di iotop, tetapi saya beruntung dengan mengaktifkan / proc / sys / vm / block_dump dan membandingkan hasilnya dengan sistem yang sehat / stabil lxadm.com/Simple_filesystem_read/write_tracing_with_/proc/sys/… Ini membantu menemukan kontainer buruh pelabuhan yang terus-menerus memunculkan permintaan kubectl, menghabiskan kredit burst volume EBS dengan entri di/home/spinnaker/.kube/cache/discovery/.../serverresources.json
. Setelah Anda mempersempit semuanya ke nama pengguna / proses, sesuatu sepertiiotop -atku systemd-network | grep kubectl
mungkin juga membantuUntuk mengetahui proses mana dalam status 'D' (menunggu respons disk) yang sedang berjalan:
while true; do date; ps aux | awk '{if($8=="D") print $0;}'; sleep 1; done
atau
watch -n1 -d "ps axu | awk '{if (\$8==\"D\") {print \$0}}'"
Seperti yang Anda lihat dari hasilnya, jdb2 / dm-0-8 (proses jurnal ext4), dan kdmflush secara konstan memblokir Linux Anda.
Untuk detail lebih lanjut, URL ini dapat membantu: Masalah Tunggu-IO Linux
sumber
atop juga berfungsi dengan baik dan menginstal dengan mudah bahkan pada sistem CentOS 5.x lama yang tidak dapat menjalankan iotop. Tekan
d
untuk menampilkan detail disk,?
untuk bantuan.Ini jelas menunjukkan java pid 9862 adalah pelakunya.
sumber
TL; DR
Jika Anda dapat menggunakan
iotop
, lakukanlah. Lain ini mungkin membantu.Gunakan
top
, lalu gunakan pintasan berikut:Ini harus menunjukkan nilai
> 1.0 wa
untuk setidaknya satu inti - jika tidak ada diskwaits, tidak ada beban IO dan tidak perlu melihat lebih jauh. Beban yang signifikan biasanya dimulai> 15.0 wa
.Pilih 'S', kolom status proses. Balik urutan sortir sehingga proses 'R' (berjalan) ditampilkan di atas. Jika Anda dapat melihat proses 'D' (menunggu disk), Anda memiliki indikator apa penyebabnya.
sumber
Untuk Pengguna KDE, Anda dapat menggunakan 'ctrl-esc' top memanggil monitor aktivitas sistem dan ada bagan aktivitas I / O dengan id proses dan nama.
Saya tidak memiliki izin untuk mengunggah gambar, karena 'status pengguna baru' tetapi Anda dapat melihat gambar di bawah ini. Ini memiliki kolom untuk IO baca dan tulis.
sumber
Sudahkah Anda mempertimbangkan
lsof
(daftar file yang terbuka)?sumber
iotop dengan bendera -a:
sumber