2011-09-07 39 views
84

Tôi có thể đoán dựa trên tên, nhưng điều gì đặc biệt là thời gian đồng hồ treo tường, thời gian cpu-người dùng và thời gian cpu-hệ thống trong UNIX?Điều gì đặc biệt là thời gian đồng hồ treo tường, thời gian cpu-người dùng và thời gian CPU-hệ thống trong UNIX?

Thời gian người dùng cpu có mất thời gian thực thi mã người dùng trong khi hạt nhân-cpu dành thời gian trong hạt nhân do nhu cầu hoạt động đặc quyền (như IO vào đĩa) không?

đơn vị gì của thời gian là phép đo này trong

. Và là tường đồng hồ thời gian thực sự là số giây quá trình này đã bỏ ra trên CPU hoặc là tên chỉ lừa dối?

Trả lời

86

Giờ đồng hồ treo tường là thời gian mà đồng hồ trên tường (hoặc đồng hồ bấm giờ trong tay) sẽ đo lường khi đã trôi qua giữa thời gian bắt đầu của quá trình và 'bây giờ'.

Thời gian CPU và thời gian CPU hệ thống là khá nhiều như bạn đã nói - lượng thời gian dành cho mã người dùng và lượng thời gian dành cho mã hạt nhân.

Đơn vị tính bằng giây (và giây, có thể là micro giây hoặc nano giây).

Thời gian đồng hồ treo tường không phải là số giây mà quá trình đã sử dụng trên CPU; đó là thời gian trôi qua, bao gồm cả thời gian chờ đợi đến lượt của nó trên CPU (trong khi các quá trình khác có thể chạy).

+1

Điều này có nghĩa là đồng hồ treo tường sẽ luôn ** ** lớn hơn thời gian CPU? – Pacerier

+9

@Pacerier: trên một máy tính lõi đơn, có, nhưng máy đa lõi và các chương trình đa luồng có thể sử dụng nhiều hơn 1 CPU thứ hai mỗi giây trôi qua. –

+0

@ JonathanLeffler cảm ơn bạn đã trả lời, tôi muốn lấy số nano giây đã trôi qua nhưng tính toán thời gian CPU bằng cách sử dụng công thức 'CPUtime = #clock_cycles/clock_rate' không thể giống như tính thời gian đã trôi qua. Bạn có biết nếu tôi có thể nhận được thời gian trôi qua từ thời gian CPU không? – Bionix1441

25

Thời gian đồng hồ treo tường: thời gian trôi qua theo đồng hồ bên trong của máy tính, sẽ khớp với thời gian ở thế giới bên ngoài. Điều này không liên quan gì đến việc sử dụng CPU; nó được đưa ra để tham khảo.

Thời gian và thời gian của CPU của người dùng: chính xác những gì bạn nghĩ. Các cuộc gọi hệ thống, bao gồm các cuộc gọi I/O như read, write, v.v. được thực hiện bằng cách nhảy vào mã hạt nhân và thực hiện điều đó.

Nếu thời gian đồng hồ treo tường < Thời gian CPU, sau đó bạn đang thực hiện chương trình song song. Nếu thời gian đồng hồ treo tường> thời gian CPU, bạn đang đợi đĩa, mạng hoặc các thiết bị khác.

Tất cả được tính bằng giây, trên SI.

5

thời gian Đồng hồ tường là chính xác những gì nó nói, thời gian trôi qua được đo bằng đồng hồ trên tường của bạn (hoặc đồng hồ đeo tay)

tài khoản thời gian CPU là thời gian dành cho "đất người sử dụng", có nghĩa là thời gian dành cho các quy trình không phải hạt nhân

Thời gian cpu hệ thống là thời gian dành cho hạt nhân, thường là thời gian dành cho các cuộc gọi hệ thống bảo dưỡng.

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