Mengapa perintah "atas" menunjukkan penggunaan CPU 799%?

47

Saya menjalankan proses di server Ubuntu 4 inti. Namun, topperintah menunjukkan bahwa penggunaan CPU adalah 799% setiap saat.

Bagaimana ini bisa terjadi? Saya tahu untuk CPU multi-core, diharapkan penggunaan CPU lebih dari 100%, tetapi 799% adalah nilai yang sangat tinggi.

Adakah yang bisa menjelaskan kepada saya mengapa dan kapan ini bisa terjadi?

Edit:

Sesuai saran Gregory MOUSSAT, menggunakan htop saya mendapat berikut:

masukkan deskripsi gambar di sini

Arpss
sumber
1
Apakah 4 core masing-masing memiliki 2 utas (mis. Intel Core i7)?
Renan
@Renan, saya menjalankannya di utas tunggal.
Arpssss
Baiklah kalau begitu. Karena saya telah melihat ini terjadi pada beberapa sistem i7.
Renan
1
Tetapi apakah JVM single-threaded?
Ignacio Vazquez-Abrams
6
Ini benar-benar terlihat seperti i7 yang terisi penuh, saya biasanya mendapatkan ini ketika
meng-

Jawaban:

65

Skala yang digunakan oleh topadalah 100% ketika sebuah inti sepenuhnya digunakan. Atau ketika satu inti adalah 20% dan yang kedua adalah 80%. Ini menyebabkan hasil yang aneh pada komputer multicore karena dengan mudah dapat melebihi 100%.
Jika Anda memiliki 8 core, maka topdapat ditampilkan dari 0% (sistem idle) hingga 800% (daya penuh).

Program Anda hanya menggunakan 4 core Anda dengan hyperthreading (jadi 8 core virtual) pada kapasitas maksimum. Jadi top memberi Anda hampir 8 x 100% = 800%.

Anda tidak bisa secara eksplisit memberi tahu JVM untuk menggunakan satu utas, ia akan menggunakan banyak utas untuk melakukan tugasnya, bahkan jika Anda hanya menggunakan satu utas dalam aplikasi Anda.

Anda dapat menggunakan htoputilitas sebagai topalternatif yang lebih baik . Anda akan melihat program Anda menggunakan semua 8 core.

Gregory MOUSSAT
sumber
Anda dapat membatasi serangkaian proses untuk satu set core atau membatasi% cpu. Namun saya tidak ingat perintahnya. (satu adalah cpulimit)
ctrl-alt-delor
+1 untuk htop, jauh lebih baik daripada di atas, atau teratas
CodeLikeBeaker
+1 untuk htop. Ini membantu saya mengatasi dua utas lapar CPU!
Arun
3
All hailhtop
fragamemnon