Jika top menunjukkan beban tinggi, dan Anda tidak tahu apakah proses yang menyebabkannya melakukan waktu prosesor atau melakukan i / o jaringan (bukan i / o lokal) bagaimana Anda bisa mengetahui hal itu?
Di server kami, saya melihat nilai tinggi untuk memuat, tetapi dalam kombinasi dengan 60% -70% menganggur, dan sekitar 25% pengguna. Saya ingin tahu bagaimana cara memadukan nilai-nilai tersebut, tetapi di internet saya hampir selalu membaca bahwa Anda dapat menggunakan iostat untuk melihat apakah prosesnya merusak disk Anda. Tapi saya sudah tahu pasti, bukan itu masalahnya. Proses yang dipermasalahkan juga tidak mengalami kesulitan dalam menjalankan tugasnya, tetapi beban masih tinggi.
Jadi, apakah ada cara untuk mengetahui lebih banyak bagian mana yang disebabkan oleh menunggu jaringan dan bagian mana yang disebabkan oleh waktu prosesor yang sebenarnya? Dan apa arti 'idle' di atas?
Untuk kejelasan: dengan memuat maksud saya 3 angka yang menandakan proses antrian rata-rata per inti. Ada 8 core pada mesin ini dan angkanya mencapai 25, sehingga merupakan beban 2,5 per core.
sumber
uptime
output)?htop
untuk mengintip ke dalam proses. Secara khusus dapat memungkinkan Anda untuk memilih proses dan kemudian menggunakanl
perintah, itu akan menunjukkan kepada Anda semua file yang terbuka menggunakanlsof
termasukIPv4
danIPv6
streaming perangkat dan semacamnya. Jika Anda telahstrace
menginstal pada kotak Anda, Anda dapat melakukan debug sistem panggilan dan sinyal juga. Bukan jawaban tetapi alat lain yang saya pertimbangkan untuk apa yang Anda coba selidiki.Jawaban:
Jaringan I / O tidak diperhitungkan dalam metrik Linux iowait, kecuali jika itu merupakan bagian dari transaksi NFS yang dalam hal ini dianggap sebagai disk I / O.
Di luar menunggu NFS hipotetis, tidak ada bagian sama sekali dari beban rata-rata diambil oleh jaringan menunggu.
Itu berarti persentase waktu CPU tidak di negara-negara lain yang terdaftar (pengguna, sistem, baik, iowait, perangkat keras mengganggu, perangkat lunak terganggu, dicuri). Ini termasuk menunggu jaringan. Saat idle, CPU pada dasarnya tidak melakukan apa pun. Perhatikan bahwa iowait juga idle time karena CPU juga tidak melakukan apa-apa.
sumber