关于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

 

 

不断学习中。。。

你可能感兴趣的:(cpu)