处理器使用率
这里要从/proc/stat中提取四个数据:用户模式(user)、低优先级的用户模式(nice)、内核模式(system)以及空闲的处理器时间(idle)。它们均位于/proc/stat文件的第一行。CPU的利用率使用如下公式来计算。
CPU利用率=100*(user+nice+system)/(user+nice+system+idle)
空闲内存=free+buffers+cached=total-used
可用内存=free的内存+cached的内存+buffers的内存
真正的内存利用率=可用内存/总内存(注意此处可用内存由上述公式计算而来,其实这个计算结果在free命令回显中已有,即回显结果第三行-/+buffers/cached,此行第二个数值即为加上了buffers和cached之后的内存,即为上述公式所算的可用内存)。
你可以在Linux中,敲入free命令获得当前系统的内存使用情况。
#busyboxfree
totalusedfreesharedbuffers
Mem:5563652808282803132
Swap:000
Total:55636528082828
当我满心欢喜的敲入上面的命令时,收到的却是一阵阵的冷汗,2828k,我的系统只剩下了2M多的内存,系统还能跑吗,是不是命令有错误!!!
让我们来看看在PC机上的Linux系统中,结果是什么样子的。
#free
totalusedfreesharedbufferscached
Mem:4091524402101670508076561824312
-/+buffers/cache:21890481902476
Swap:408853228917321196800
这里我先解释一下几个关键的概念。
buffers:主要是用来给Linux系统中块设备做缓冲区。
cached:用来缓冲我们所打开的文件。
在系统中内存是很宝贵的资源,Linux的思想是,如果内存充足,不用白不用,它会使用内存来cache一些文件,从而加快进程的运行速度;当内存不足时,这些内存又会被回收,供程序使用。
所以真正可用的内存=free+buffers+cached=70508+7656+1824312=1902476。