“ เวลาของระบบ” คืออะไรเมื่อใช้“ เวลา” ในบรรทัดคำสั่ง


10

ฉันใช้timeเวลากับPerlสคริปต์บนเทอร์มินัลมาตรฐานใน Ubuntu 14.04

ฉันได้อ่านนั่นreal timeคือเวลานาฬิกาจับเวลา; เวลาที่ฉันเป็นผู้ใช้กำลังดูที่โปรแกรมกำลังทำงานจากฉันเริ่มโปรแกรมจนกว่าจะสิ้นสุดลง แต่ฉันไม่ได้สิ่งที่userหรือsysเวลา หน้าคนที่timeคลุมเครือพูดน้อยที่สุด

ในขณะที่มันค่อนข้างชัดเจนว่าrealเวลาแบ่งระหว่างuserและsysไม่ชัดเจนสิ่งที่พวกเขาเป็นตัวแทน

ในสคริปต์ของฉันฉันกำลังทำการเปรียบเทียบ [1] C ++ และ Perl เพื่อดูความแตกต่างและฉันต้องการทราบว่าฉันได้รับข้อมูลอะไรจริง ๆ ตัวอย่างผลลัพธ์คือ:

real    0m24.198s
user    0m23.120s
sys     0m1.030s

มีคนช่วยอธิบายรายละเอียดเกี่ยวกับรูปแบบเวลาเริ่มต้นให้ผู้ใช้ทราบได้อย่างไร ฉันเป็นสามเณรใน Linux ดังนั้นโปรดอย่าคิดมากเกินไป

[1] ที่น่าสนใจในขณะที่ C ++ เป็นวิธีที่เร็วกว่า Perl ในเกณฑ์มาตรฐานของฉันในเรื่องrealเวลา แต่sysเวลาไม่ได้แตกต่างกันมากนักโดย C ++ ใช้sysเวลามากกว่า Perl จริง ๆ นี่คือเหตุผลที่ฉันต้องการรู้ว่าพวกเขาหมายถึงอะไร


คำตอบ:


15

จากวิกิพีเดีย :

  • เวลาของผู้ใช้เทียบกับเวลาของระบบ

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

  • เรียลไทม์เทียบกับเวลา CPU

คำว่า "เวลาจริง" ในบริบทนี้หมายถึงเวลา "นาฬิกาแขวน" ที่ผ่านไปเช่นการใช้นาฬิกาจับเวลา เวลา CPU ทั้งหมด (เวลาของผู้ใช้ + เวลา sys) อาจมากกว่าหรือน้อยกว่าค่านั้น เนื่องจากโปรแกรมอาจใช้เวลาในการรอและไม่ดำเนินการเลย (ไม่ว่าจะในโหมดผู้ใช้หรือโหมดระบบ) เวลาจริงอาจมากกว่าเวลา CPU ทั้งหมด เนื่องจากโปรแกรมอาจแยกเด็กที่มีเวลา CPU (ทั้งผู้ใช้และ sys) ถูกเพิ่มลงในค่าที่รายงานโดยคำสั่งเวลาเวลา CPU ทั้งหมดอาจมากกว่าเวลาจริง


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