อะไรคือความแตกต่างระหว่างเวลานาฬิกาแขวนเวลาผู้ใช้และเวลาซีพียู


14

เรากำลังเรียกใช้งานคอมพิวเตอร์ด้วย GridEngine ทุกงานคืน 3 ครั้ง:

  • เวลานาฬิกาแขวน
  • เวลาของผู้ใช้
  • เวลา CPU

ความแตกต่างระหว่างสามสิ่งนี้คืออะไร? ข้อใดในสามข้อนี้ที่เหมาะสมที่สุดในการเปรียบเทียบประสิทธิภาพของสองแอปพลิเคชั่น / สคริปต์

คำตอบ:


18

เวลานาฬิกาแขวนคือจำนวนเวลาที่ใช้จริงในการทำงาน นี่เทียบเท่ากับการจับเวลางานของคุณด้วยนาฬิกาจับเวลาและเวลาที่วัดได้เพื่อให้งานของคุณเสร็จสมบูรณ์อาจได้รับผลกระทบจากสิ่งอื่นใดที่ระบบเกิดขึ้นในขณะนั้น

เวลาของผู้ใช้วัดระยะเวลาที่ CPU ใช้ในการเรียกใช้รหัสของคุณ สิ่งนี้จะไม่นับสิ่งอื่นใดที่อาจกำลังทำงานอยู่และจะไม่นับเวลา CPU ที่ใช้ในเคอร์เนล (เช่นสำหรับไฟล์ I / O)

เวลา CPU วัดจำนวนเวลาทั้งหมดที่ CPU ใช้ในการเรียกใช้รหัสของคุณหรือสิ่งใดก็ตามที่รหัสของคุณร้องขอ รวมถึงเวลาเคอร์เนล

การวัด "เวลาของผู้ใช้" น่าจะเหมาะสมที่สุดสำหรับการวัดประสิทธิภาพของงานที่แตกต่างกันเนื่องจากจะได้รับผลกระทบน้อยที่สุดจากสิ่งอื่น ๆ ที่เกิดขึ้นในระบบ


3

จาก Wikipedia:

คำว่า 'เวลา CPU ของผู้ใช้' อาจทำให้เข้าใจผิดเล็กน้อยในตอนแรก เพื่อล้างเวลารวม (เวลา CPU จริง) เป็นการรวมกันของจำนวนเวลาที่ CPU ใช้ในการดำเนินการบางอย่างสำหรับโปรแกรมและระยะเวลาที่ CPU ใช้ในการดำเนินการเรียกระบบสำหรับเคอร์เนลในนามของโปรแกรม เมื่อโปรแกรมวนลูปผ่านอาร์เรย์จะเป็นการสะสมเวลา CPU ของผู้ใช้ ในทางกลับกันเมื่อโปรแกรมเรียกใช้งานการเรียกของระบบเช่น exec หรือ fork มันจะสะสมเวลา CPU ของระบบ

เวลาของนาฬิกาในผนังเป็นเวลาที่คอมพิวเตอร์ใช้ในการทำงาน มันคือผลรวมของสามคำ: เวลา CPU, เวลา I / O และความล่าช้าของช่องทางการสื่อสาร (เช่นหากข้อมูลกระจัดกระจายในเครื่องหลายเครื่อง) ตรงกันข้ามกับเวลาของ CPU ซึ่งวัดเฉพาะเวลาที่โปรเซสเซอร์ทำงานอย่างแข็งขันกับงานบางอย่างเวลาผนังวัดเวลาทั้งหมดสำหรับกระบวนการให้เสร็จสมบูรณ์ ความแตกต่างระหว่างทั้งสองประกอบด้วยเวลาที่ผ่านไปเนื่องจากความล่าช้าของโปรแกรมหรือรอให้ทรัพยากรพร้อมใช้งาน

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