เปอร์เซ็นต์ของ CPU หมายถึงอะไร


11

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


1
มีโปรเซสเซอร์แบบคู่โดยบังเอิญหรือไม่?

คำถามสำหรับ SuperUser แน่นอน
Noldorin

คำตอบ:


16

มีเพียงโพลทั้งหมดประมาณหนึ่งครั้งต่อวินาที คุณกำลังดูว่ามันใช้วินาทีสุดท้ายเท่าไร

หากคุณเห็นซีพียูนั่งที่ 50% สักครู่สิ่งที่น่าจะเกิดขึ้นคือมันใช้ซีพียู 100% ในระบบซีพียูคู่


4
"หนึ่งแกนของระบบดูอัลคอร์" - ... หรือแม้แต่ซีพียูเดี่ยวที่มี 'ไฮเปอร์เธรด'

@ChrisW: แก้ไขแล้ว
Joel Coehoorn

เปอร์เซ็นต์การใช้งาน CPU มักจะมีการรายงานจาก 100% สำหรับแต่ละ CPU เป็นรายบุคคลเพื่อให้จำนวนของพลังงาน CPU ที่จะนำมาใช้ในระบบหลักคู่ 200% ในแกนรูปสี่เหลี่ยม 400% ฯลฯ
เดวิด Z

ไม่ใช่ใน windows task manager พวกเขาไม่ได้
Joel Coehoorn

11

ในทางเทคนิคคุณถูกต้อง ในเวลาใดก็ตาม CPU กำลังถูกใช้งานหรือไม่ได้ใช้งาน แต่การแสดงให้เห็นว่าในกราฟจะไม่เป็นประโยชน์มากดังนั้นกราฟจึงใช้ค่าเฉลี่ยของการใช้ CPU ในบางช่วงเวลาซึ่งอาจเป็นในแต่ละวินาที


3

ระบบปฏิบัติการกำหนดเวลาดำเนินการในช่วงระยะเวลาหนึ่ง ดังนั้นหากกระบวนการถูกกำหนดเวลาไว้ (พูด) 1 มิลลิวินาทีจาก 10 มิลลิวินาทีก็จะใช้ซีพียู 10%

มันใช้งานง่ายเล็กน้อยเนื่องจาก (ในระบบเธรดเดี่ยว CPU เดียว) กระบวนการนั้นกำลังทำงานอยู่หรือไม่ได้ทำงานอยู่ นั่นคือมันใช้ 100% หรือ 0% เปอร์เซ็นต์ที่คุณเห็นนั้นวัดได้จากช่วงเวลาหนึ่ง ๆ และเป็นตัวชี้วัดของระบบปฏิบัติการที่จัดสรรช่วงเวลาให้กับกระบวนการของคุณที่จะทำงาน

โปรดทราบว่ากระบวนการของคุณจะไม่สนับสนุนสิ่งนี้หากคุณเข้าถึง I / O ดังนั้นหากคุณทำการคำนวณขนาดใหญ่คุณจะต้องลงทะเบียน 100% (หากไม่มีสิ่งใดทำงาน) หากคุณรอเครือข่ายแพ็คเก็ต / การเข้าถึงดิสก์เป็นต้นตัวเลข CPU ของคุณจะลดลงแม้ว่ากระบวนการของคุณจะยังทำงานอยู่ก็ตาม


2

ในระดับที่ต่ำมากคุณพูดถูก ตัวประมวลผลกำลังประมวลผลคำสั่งสำหรับกระบวนการที่กำหนดไม่ว่าในกรณีใดก็ตาม

แต่ระบบปฏิบัติการของคุณอยู่ระหว่างกระบวนการและตัวประมวลผลทำให้พวกเขาแบ่งปันเวลา เปอร์เซ็นต์ที่คุณเห็นคือเปอร์เซ็นต์ของเวลาประมวลผลล่าสุดที่ระบบปฏิบัติการอนุญาตให้กระบวนการนั้น


1

มันขึ้นอยู่กับเวลาเฉลี่ย แม้ว่าเธรดทั้งหมดจะมีเวลา CPU เท่ากัน (ขึ้นอยู่กับลำดับความสำคัญ) เธรดสามารถพูดว่า "ขอบคุณ แต่ฉันไม่ได้ใช้งาน" และผ่านมันไปที่เธรดถัดไป นั่นคือเหตุผลที่โปรแกรมไม่ได้ใช้เสมอเวลา% และโปรแกรมส่วนใหญ่ใช้ CPU 0% และโปรแกรมที่ต้องการ CPU จริงๆอาจใช้เวลาเกือบ 100% สำหรับตัวมันเอง

ทำไมถึงสูงสุด 50% คุณอาจมีแกน CPU สองแกนและใช้เพียงแกนเดียวเท่านั้น

หรือตามที่แนะนำก็ใช้ไฮเปอร์เธรด แต่ฉันไม่รู้ว่าอันนี้ทำงานอย่างไร


0

โปรแกรมของคุณอาจทำ I / O จำนวนมาก (ดิสก์หรือเครือข่ายอ่าน / เขียน) นั่นจะทำให้โปรแกรมไม่ว่าง แต่ต้องการเวลาของ CPU เพียงเล็กน้อยเท่านั้น


0

การใช้งานระบบถูกสุ่มตัวอย่างและโดยเฉลี่ยซึ่งเป็นสิ่งที่สมเหตุสมผลที่ต้องทำ

เช่นบันทึกเวลาที่กระบวนการ / เธรดที่ใช้ในการรันระหว่าง 1 วินาทีถูกเก็บไว้ หากใช้เวลา 1 วินาทีบน CPU นั่นคือ 100% CPU (หรือ 50% ถ้าคุณมี 2 CPU และต่อไป) ถ้าใช้เวลา 100ms นั่นคือการใช้งาน CPU 10%

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