去评论
推扬网

怎么看内存频率(在内存条上如何看大小)

admin
2020/04/18 00:23:16

我们都知道用free命令查看系统的内存情况,但是返回的值具体代表什么意思呢?

第一行:

total 物理内存总量: 16047M

used 已用物理内存量: 15956M

free 空闲物理内存量: 91M

shared 当前已经废弃不用,总是0

buffers Buffer 读写缓冲内存区总量:3740M

cached Page 缓存内存区总量:4715M

计算关系:total(16047) = used(15956) + free(91)

这层关系是对操作系统来说的,服务器由16G内存,用了15G多,还有91M空闲。哥们,内存用的太多了吧

第二行:(-/+ buffers/cache)

注意第一行的buffers 和cached 在计算中并没有用到,其实是参与到第二行的计算

第二行的used(7500) = 第一行的used(15956)- 第一行的buffers(3740)-第一行的cached(4715)

第二行的free(8547) = 第一行的free(91)+ 第一行的buffers(3740)+ 第一行的cached(4715)

实际应用中,我们主要看这一部分。

这一部分才是应用角度看到的可用内存。

used-buffers-cache,表示当前系统中实际被程序吃掉的内存;

free+buffers+cache,表示当前系统中还可以挪用分配给程序的实际内存总数;

对于应用程序来说,buffers/cached 是等于可用的,因为buffer/cached是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。

所以从应用程序的角度来说 可用内存=系统free memory+buffers+cached.

buffers是指用来给块设备做缓冲,存放即将要被处理的数据

cached是用来给文件做缓存(速度优于内存),存放已经被处理完毕的数据,如果有请求再次请求这些数据,就不用重新生成,能直接返回这些数据。

也就是说:buffers是用来存储接受的数据,而cached是用来保存我们处理完毕的数据