centos计算内存CPU正确方法

处理器使用率

这里要从/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。

相关文章

在Docker中,挂载目录的权限问题通常可以通过以下方法解决:...
在Ubuntu命令行中设置中文可以通过以下几种方式实现: 安装...
要查看CentOS中的重启记录,可以使用以下命令: 使用last命...
要判断哪个串口在工作,可以通过以下方法: 使用命令行工具...
要查看Linux系统中数据盘的挂载点,可以按照以下步骤进行: ...
要更改Ubuntu系统的启动项顺序,可以按照以下步骤操作: 打...