unix捲髮器 - unix教學



UNIX中的掛鐘時間,user-cpu-time和system-cpu-time具體是什麼? (3)

我可以根據名稱進行猜測,但UNIX中的掛鐘時間,user-cpu-time和system-cpu-time具體是什麼?

user-cpu是花在執行用戶代碼上的時間,而kernel-cpu是由於需要特權操作(如IO到磁盤)而花費在內核上的時間?

這個測量單位是什麼單位。

牆上時鐘的時間真的是該進程在CPU上花費的秒數,還是名稱只是誤導?

https://ffff65535.com


掛鐘時間是指牆上的時鐘(或手錶上的秒錶)將從過程開始到'現在'之間經過的時間。

user-cpu時間和system-cpu時間與您所說的相當 - 用戶代碼花費的時間以及花費在內核代碼上的時間。

單位是秒(和亞秒,可能是微秒或納秒)。

掛鐘時間不是該進程在CPU上花費的秒數; 它是經過的時間,包括等待打開CPU的時間(其他進程開始運行)。


掛鐘時間:根據計算機的內部時鐘流逝的時間,這應該與外界的時間相匹配。 這與CPU使用率無關; 它僅供參考。

用戶CPU時間和系統時間:正是您的想法。 系統調用(包括readwrite等I / O調用)通過跳入內核代碼並執行它來執行。

如果掛鐘時間<CPU時間,那麼您正在並行執行一個程序。 如果掛鐘時間> CPU時間,則表示您正在等待磁盤,網絡或其他設備。

所有測量都是以秒為單位,每個SI


time [WHAT-EVER-COMMAND]
real    7m2.444s
user    76m14.607s
sys 2m29.432s

$ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                24

真實或掛鐘

真正7m2.444s

在具有24個核心處理器的系統上,該cmd /進程需要7分鐘才能完成。 通過利用所有給定內核的最可能的並行性。

用戶

用戶76m14.607s

cmd /進程利用了這麼多的CPU時間。 換句話說,在使用單核CPU的機器上,真實和用戶幾乎相等,所以相同的命令需要大約76分鐘才能完成。

SYS

sys 2m29.432s

這是內核執行所有基本/系統級操作來運行此cmd所用的時間,包括上下文切換,資源分配等。

注意:該示例假定您的命令使用並行/線程。

詳細的手冊頁: https://linux.die.net/man/1/timehttps://linux.die.net/man/1/time





operating-system