2012-10-11 25 views
5

Khi tôi kiểm tra một kịch bản perl dưới Linux và sử dụng time sh -c để đo thời gian dành cho, tôi nhận được một kết quả kỳ lạ:linux lệnh Hiện kết quả thực là ít hơn người sử dụng

real 14m11.903s 
user 34m39.319s 
sys  16m54.074s 

có nghĩa là thời gian thực dành thậm chí còn ít hơn thời gian của người dùng. Và trực quan đếm thời gian của bản thân mình, kịch bản đã không dành nhiều như 34 phút, và thời gian thực là gần gũi hơn với những gì tôi nhìn thấy. Có ai có bất kỳ đầu mối về điều này? Cảm ơn.

Trả lời

9

Tập lệnh có thể đã sử dụng nhiều hơn 1 lõi.

+0

Có điều đó không đúng, vì vậy nếu tôi có một tập lệnh đa luồng với 4 chủ đề làm việc và thời gian người dùng là 16m, tôi có thể nói thời gian thực là khoảng 4m không? – lolibility

+0

Nó phụ thuộc vào rất nhiều thứ. Thông thường do các ràng buộc tài nguyên được chia sẻ (bộ nhớ, đĩa, phần mutex, v.v.) nó sẽ không hoạt động hoàn hảo. – jmh

1

Dòng người dùng hiển thị tổng thời gian CPU mà quá trình được sử dụng trực tiếp. Nếu quá trình của bạn có nhiều hơn một luồng và CPU của bạn có nhiều hơn một lõi thì bạn có thể sử dụng nhiều thời gian CPU hơn thời gian đồng hồ treo tường.

Các vấn đề liên quan