您现在的位置: 破洛洛 >> 服务器 >> Linux >> 正文

centos计算内存CPU正确方法

作者:佚名 来源:网络整理 更新时间:2016-12-30
分享到

   处理器使用率

  这里要从/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命令获得当前系统的内存使用情况。

  #busybox free

  total used free shared buffers

  Mem: 55636 52808 2828 0 3132

  Swap: 0 0 0

  Total: 55636 52808 2828

  当我满心欢喜的敲入上面的命令时,收到的却是一阵阵的冷汗,2828k,我的系统只剩下了2M多的内存,系统还能跑吗,是不是命令有错误!!!

  让我们来看看在PC机上的Linux系统中,结果是什么样子的。

  #free

  total used free shared buffers cached

  Mem: 4091524 4021016 70508 0 7656 1824312

  -/+ buffers/cache: 2189048 1902476

  Swap: 4088532 2891732 1196800

  这里我先解释一下几个关键的概念。

  buffers:主要是用来给Linux系统中块设备做缓冲区。

  cached:用来缓冲我们所打开的文件。

  在系统中内存是很宝贵的资源,Linux的思想是,如果内存充足,不用白不用,它会使用内存来cache一些文件,从而加快进程的运行速度;当内存不足时,这些内存又会被回收,供程序使用。

  所以真正可用的内存=free+buffers+cached=70508+7656+1824312=1902476。

转载请注明:破洛洛(谢谢合作)
网友评论: