博客搬家,原地址:https://langzi989.github.io/2016/12/19/通过-proc-stat计算linux系统即时CPU使用率/
/proc/stat
/proc文件系统是一个伪文件系统,它存在于内存中,不占用外存空间。它以文件系统的方式为内核与进程提供通信接口。用户和应用程序可以通过/proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程是动态改变的,所以用户或应用程序读取/proc目录中的文件的时,/proc文件系统是动态从系统内核读出所需信息并提交的。
在linux或Ubuntu系统中,/proc/stat文件记录了所有CPU活动的信息,该文件中的所有值都是从系统启动开始累计到当前的值。我们可以通过一个较小的时间段的CPU利用率值来估算某一个时刻的CPU利用率。首先我们先来查看一下/proc/stat中的内容:
$ cat /proc/stat
cpu 15543 334 4963 142337 3413 0 180 0 0 0
cpu0 3877 142 1137 35988 615 0 28 0 0 0
cpu1 3866 23 1068 35982 608 0 74 0 0 0
cpu2 4104 159 1333 35395 735 0 59 0 0 0
cpu3 3695 9 1424 34970 1454 0 18 0 0 0
<