Central-Processing-Unit

CPU秒的定義?

  • May 5, 2010

我完全支持這個話題。

昨天我正在為我正在處理的一些腳本進行分析,所用時間的單位是“ CPU 秒”。誰能提醒我它的定義?

例如,對於我得到的一些分析:200.750 CPU seconds。那應該是什麼意思?在其他情況下,對於耗時的過程,我得到:-347.977 CPU seconds,一個負數!

無論如何我可以將那個時間轉換為日曆時間嗎?

乾杯,

CPU 秒是 CPU 上的一秒時間。

流程執行時間有兩個度量:

  • CPU 時間,或 CPU 主動執行程序所花費的時間;和
  • 掛起時間,或您開始流程和流程結束之間經過的時間量。

假設單個 CPU 核心,它們的相關性如下:

(Wall time) - (CPU time) = (time the CPU spent doing other things)

所以在一個簡單的例子中,如果你執行一個程序,它需要 10 秒,但你得到 7 個 CPU 秒的測量結果,那麼在這 10 秒內,CPU 花了 3 秒做其他事情而不是執行你的程序。

CPU時間一般分為兩種:

  • “sys”或“kernel”時間,或核心為您的程序做事所花費的時間——執行 I/O、計時器、互斥鎖等
  • “使用者”時間,或由使用者空間中的程序執行的執行

例如:

$ time sleep 1

real    0m1.005s
user    0m0.000s
sys     0m0.002s

在這種情況下,我們正在休眠一秒鐘。系統在核心空間花費了2/1000秒,可能是為我們設置了定時器和中斷,在使用者空間沒有時間,整個事情執行了1.005秒,這意味著在那個時間段內電腦額外花費了0.003秒除了處理我們的流程之外,還做其他事情。

在我的腦海中,我不知道你如何或為什麼會得到一個明顯的 CPU 時間負數。

引用自:https://serverfault.com/questions/138703