Thời gian của hệ thống là gì khi sử dụng thời gian trực tuyến trong dòng lệnh


10

Tôi đang sử dụng timethời gian một Perltập lệnh trên thiết bị đầu cuối tiêu chuẩn trong Ubuntu 14.04.

Tôi đã đọc đó real timelà thời gian bấm giờ; thời gian tôi, với tư cách là một người dùng, đang dành thời gian nhìn vào chương trình đang chạy từ khi tôi khởi động chương trình cho đến khi nó kết thúc. Nhưng tôi không nhận được những gì userhoặc systhời gian. Các trang người đàn ông trên timelà mơ hồ, để nói rằng ít nhất.

Mặc dù có phần rõ ràng rằng realthời gian được phân chia giữa usersyskhông rõ họ đại diện cho cái gì.

Trong kịch bản của tôi, tôi đang đo điểm chuẩn [1] C ++ và Perl với nhau để thấy sự khác biệt và tôi muốn biết dữ liệu nào tôi thực sự nhận được. Một ví dụ đầu ra là:

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

Ai đó có thể vui lòng giải thích định dạng mặc định của thời gian đang nói với người dùng không? Tôi là người mới làm quen với Linux, vì vậy xin đừng giả sử quá nhiều.

[1] Thật thú vị, trong khi C ++ là cách, nhanh hơn Perl trong điểm chuẩn của tôi về realthời gian, systhời gian không khác nhau nhiều, với C ++ thực sự sử dụng nhiều systhời gian hơn Perl. Đây là lý do tại sao tôi muốn biết ý nghĩa của chúng


2
lk-

Câu trả lời:


15

Từ wikipedia :

  • Thời gian của người dùng so với thời gian hệ thống

Lúc đầu, thuật ngữ 'thời gian CPU của người dùng' có thể hơi sai lệch. Để rõ ràng, tổng thời gian CPU là sự kết hợp giữa lượng thời gian mà CPU dành cho việc thực hiện một số hành động cho một chương trình và lượng thời gian mà CPU dành cho việc thực hiện các cuộc gọi hệ thống cho nhân thay mặt cho chương trình. Khi một chương trình lặp qua một mảng, nó đang tích lũy thời gian CPU của người dùng. Ngược lại, khi một chương trình thực hiện một cuộc gọi hệ thống như exec hoặc fork, nó đang tích lũy thời gian CPU của hệ thống.

  • Thời gian thực so với thời gian CPU

Thuật ngữ "thời gian thực" trong ngữ cảnh này dùng để chỉ thời gian "đồng hồ treo tường" đã trôi qua, giống như sử dụng đồng hồ bấm giờ. Tổng thời gian CPU (thời gian người dùng + thời gian sys) có thể nhiều hơn hoặc ít hơn giá trị đó. Bởi vì một chương trình có thể mất một chút thời gian chờ đợi và hoàn toàn không thực hiện (dù ở chế độ người dùng hay chế độ hệ thống), thời gian thực có thể lớn hơn tổng thời gian CPU. Bởi vì một chương trình có thể rẽ nhánh trẻ em có thời gian CPU (cả người dùng và hệ thống) được thêm vào các giá trị được báo cáo bởi lệnh thời gian, tổng thời gian CPU có thể lớn hơn thời gian thực.


1
Tôi không hiểu làm thế nào tôi quản lý để không tìm thấy bài viết Wikipedia. Cảm ơn bạn.
Alrekr
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.