关于CPU的一些基础知识
1、jiffies
1)linux全局变量,无符号长整型,用以记录系统启动以来产生的时钟中断总数。
2)单位:在不同系统其值可能是1ms~10ms。
2、/proc/stat的内容就是以jiffies为单位,它记录了系统启动以来各个CPU的累计活动信息,可以用来计算cpu使用率。以下是其部分内容:
每一行从左到右数值的含义分别是(自系统启动以来的累计值):
user:用户态的CPU时间,不包括nice值为负的进程。
nice:nice值为负的进程所占的CPU时间。
system:内核态时间。
idle:除硬盘I/O等待时间以外的其它等待时间。
iowait:硬盘I/O等待时间。
irq:硬中断时间。
softirq:软中断时间。
最后两列分别为steal和guest,这里不展开。
因此,可以这样计算一段时间内的cpu平均使用率R:
在当前时刻,cpu累计总时间数T1 = user + nice + system + idle + iowait + irq + softirq,cpu累计使用总时间数U1 = user + nice + system + irq + softirq。
一段时间后,cpu累计总时间数T2 = user + nice + system + idle + iowait + irq + softirq,cpu累计使用总时间数U2 = user + nice + system + irq + softirq。
R = (U2 - U1) / (T2 - T1) * 100%
参考链接:
http://www.linuxdiyf.com/viewarticle.php?id=109486
不断学习中。。。
浙公网安备 33010602011771号