/proc/stat中CPU資料資訊,機關是ticks(1ms).
HZ
HZ的值,就是每秒的時鐘中斷數量。可以觀察/proc/interrupts中時鐘中斷值變化,來計算HZ的值。某台機器上是RHEL6.1核心,配置的HZ值為1000時, ticks的機關即為1/1000秒,即1ms.
ticks
ticks (滴答)就是系統時鐘中斷的時間間隔,該值與核心中HZ值有關,即ticks =1/HZ, HZ值的大小,在核心編譯時可配置的。
CPU、記憶體計算邏輯
(1) Linux CPU占用率是根據/proc/stat檔案中的資料計算而來;
(2) /proc/stat中的資料精度為ticks,即1/HZ秒;
(3)核心每個ticks(1ms)會更新一次CPU使用資訊;
(4) CPU占用率的精度為1/HZ秒 。
不準确的情況
程序排程次數少, CPU占用率就準确;
排程時間間隔小于時鐘中斷,就可能不準确,極少機率,可忽略。