Pertanyaan Utilitas 'teratas' Linux sangat tidak akurat (lebih lagi untuk perangkat keras multi-CPU / core)?


Setelah menggunakan top untuk waktu yang lama, meskipun pada dasarnya, saya telah tumbuh untuk tidak mempercayainya % CPU laporan kolom. Saya memiliki perangkat 8-core (quad core Intel i7 920 dengan hyperthreading), dan melihat beberapa bilangan liar ketika menjalankan proses yang seharusnya tidak menggunakan lebih dari 5% secara keseluruhan. top laporan gembira 50%, dan saya kira tidak demikian.

Pertanyaan saya adalah, apakah itu fakta yang diketahui bahwa itu tidak akurat ketika beberapa CPU / core hadir?

Saya menggunakan mpstat dari sysstat paket, dan pertunjukannya jauh lebih konservatif, tentu saja sesuai harapan saya. Saya melakukan pers 1 untuk top untuk mengubahnya untuk menampilkan semua statistik inti dan us / sy / io, tetapi jumlahnya jauh lebih tinggi daripada mpstat...

Saya tahu bahwa harapan saya bisa tidak berdasar juga, tetapi firasat saya mengatakan kepada saya top salah!

Alasan yang perlu saya ketahui adalah karena proses yang saya pantau hanya menjamin kualitas layanan dengan penggunaan CPU "kurang dari 80%" (betapapun samar-samar yang terdengar), dan saya perlu tahu berapa banyak headroom yang tersisa. Ini adalah server streaming.


4
2018-05-01 21:56


asal


Berapa nomor pemakaian CPU di top apakah kamu berbicara tentang? Mode tunggal atau SMP? - Benjamin Bannier
Baik single maupun SMP melaporkan total yang sekitar dua kali lebih tinggi dari angka yang dilaporkan oleh mpstat. - amn
Cobalah untuk menginstal htop. Itu adalah versi yang lebih baik (menurut saya) dari atas. Lihat hasil apa yang Anda dapatkan di sana lebih dulu. - Waxhead


Jawaban:


Sebenarnya Anda dapat menjalankan top dalam mode interaktif dengan menekan 'I' dan menormalkan waktu CPU% dengan membaginya dengan jumlah total CPU.


5
2017-11-15 01:31





Dugaan saya adalah bahwa beban penuh pada sistem Anda akan menjadi 800% (100% untuk setiap inti)


4
2018-05-02 02:14



Nah, bukan 800% kemustahilan matematis atau sesuatu :-) Itu semacam apa yang menjadi intinya - bukankah lebih baik untuk 'top' untuk menyesuaikan laporannya sehingga 100% adalah 100% dari keseluruhan susunan CPU ruang pemakaian? Jadi, saat ini, 50% saya dilaporkan harus dibagi 8 untuk mendapatkan angka yang lebih berarti, bukan? - amn
Meskipun 800% tampak konyol, itu membuatnya jelas bahwa beberapa core sedang digunakan. Saya pikir itu adalah kludge yang wajar ketika Anda tidak memiliki daftar yang berbeda dari utilisasi CPU per core. Penskalaan pengukuran berada dalam 100% tidak akan memberi tahu pengguna jika prosesnya multi-core atau tidak. - Neil