我正在閱讀有關計算進程的CPU使用情況。pcpu是什麼意思,爲什麼乘以1000?
seconds = utime/Hertz
total_time = utime + stime
IF include_dead_children
total_time = total_time + cutime + cstime
ENDIF
seconds = uptime - starttime/Hertz
pcpu = (total_time * 1000/Hertz)/seconds
print: "%CPU" pcpu/10 "." pcpu % 10
我不明白的是,由「秒」的算法是指時間花在電腦做多興趣的過程等操作,以及前。因爲正常運行時間是我們計算機運行的時間,啓動時間意味着我們[感興趣]進程開始的時間。
那麼我們爲什麼要把total_time
除以seconds
[計算機花時間做其他事情]得到pcpu
?這沒有意義。
變量的標準含義:
# Name Description
14 utime CPU time spent in user code, measured in jiffies
15 stime CPU time spent in kernel code, measured in jiffies
16 cutime CPU time spent in user code, including time from children
17 cstime CPU time spent in kernel code, including time from children
22 starttime Time when the process started, measured in jiffies
/proc/uptime :The uptime of the system (seconds), and the amount of time spent in idle process (seconds).
Hertz :Number of clock ticks per second
由於我們不知道「utime」,「hertz」,「stime」,「cutime」,「ctimes」,「uptime」,「starttime」等的定義,回答這個問題需要做出相當多的假設。如果你能詳細說明你的變量是什麼以及它們包含什麼值(或者它們來自哪裏,至少)...... – twalberg
這些是標準術語。但是,我會爲你更新這個問題。 – complextea