ทำไมคำสั่ง“ top” แสดงการใช้งาน CPU ถึง 799%


47

ฉันกำลังเรียกใช้กระบวนการในเซิร์ฟเวอร์ Ubuntu 4 แกน อย่างไรก็ตามtopคำสั่งแสดงให้เห็นว่าการใช้งาน CPU คือ 799% ตลอดเวลา

สิ่งนี้จะเป็นไปได้อย่างไร ฉันรู้ว่าสำหรับซีพียูแบบมัลติคอร์คาดว่าจะมีการใช้งาน CPU มากกว่า 100% แต่ 799% เป็นค่าที่สูงมาก

มีใครอธิบายให้ฉันฟังได้ไหม

แก้ไข:

ตามข้อเสนอแนะของ Gregory MOUSSAT โดยใช้ htop ฉันได้รับ:

ป้อนคำอธิบายรูปภาพที่นี่


1
4 คอร์มี 2 เธรด (เช่น Intel Core i7) หรือไม่
Renan

@ Renan ฉันใช้มันในหัวข้อเดียว
Arpssss

โอเคถ้าอย่างนั้น. เพราะฉันได้เห็นสิ่งนี้เกิดขึ้นในระบบ i7 บางระบบ
Renan

1
แต่JVMเป็นเธรดเดี่ยวหรือไม่
Ignacio Vazquez-Abrams

6
นี่มันดูเหมือน i7 ที่โหลดเต็มแล้วฉันมักจะได้มันเมื่อเข้ารหัสวิดีโอ
nohillside

คำตอบ:


65

สเกลที่ใช้topเป็น 100% เมื่อใช้แกนอย่างเต็มที่ หรือเมื่อแกนหลักหนึ่งมี 20% และแกนที่สองคือ 80% สิ่งนี้นำไปสู่ผลลัพธ์ที่แปลกประหลาดในคอมพิวเตอร์แบบมัลติคอร์เพราะมันสามารถเกิน 100% ได้อย่างง่ายดาย
หากคุณมี 8 คอร์คุณtopสามารถแสดงผลได้ตั้งแต่ 0% (ระบบว่าง) ถึง 800% (กำลังไฟเต็ม)

โปรแกรมของคุณใช้เพียง 4 คอร์กับไฮเปอร์เธรด (ดังนั้น 8 คอร์เสมือน) ที่ความจุสูงสุด ด้านบนจะให้คุณเกือบ 8 x 100% = 800%

คุณไม่สามารถแจ้งให้ JVM ใช้เธรดเดี่ยวได้อย่างชัดเจน แต่จะใช้หลายเธรดเพื่อทำงานแม้ว่าคุณจะใช้เธรดเดียวในแอปพลิเคชันของคุณก็ตาม

คุณสามารถใช้htopยูทิลิตีนี้เป็นtopทางเลือกที่ดีกว่า คุณจะเห็นโปรแกรมของคุณโดยใช้ 8 คอร์ทั้งหมด


คุณสามารถ จำกัด ชุดของกระบวนการใด ๆ กับชุดของแกนหรือ จำกัด % ของ cpu อย่างไรก็ตามฉันจำคำสั่งไม่ได้ (หนึ่งคือ cpulimit)
ctrl-alt-delor

+1 สำหรับ htop ดีกว่าบนหรือบนสุด
CodeLikeBeaker

+1 สำหรับ htop สิ่งนี้ช่วยฉันตอกตะปู CPU หิวสองเธรด!
อรุณ

3
ทุกลูกเห็บhtop
Fragamemnon
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.