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時間和系統時間:正是您的想法。 系統調用(包括read
, write
等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/time : https://linux.die.net/man/1/time