linux内存机制简记




       Linux管理内存的机制是这样的:无论物理内存有多大,Linux 都将其充份利用,将一些程序调用过的硬盘数据读入内存,利用内存读写的高速特性来提高Linux系统的数据访问性能。即Linux会利用空闲物理内存,划出一部份空间,做为cache和buffers ,以提高数据访问性能。cached主要用来减少对磁盘的I/O操作,buffers是用来给块设备做的缓冲。


       所以一个总内存为8GB的Linux 机子占用的内存也是8GB。此时free会非常小,但不代表可用内存小,当程序需要申请较大内存时,如果free不够,内核会把部分cached回收,回收的内存再分配给应用程序。


计算真实使用内存方法是:Total-Free-Cached-buffers=真实使用内存


buffers/chached的区别:

buffers 是指用来给块设备做的缓冲大小,他只记录文件系统的metadata以及 tracking in-flight pages。用来存储目录里面有什么内容,权限等等。

buffers随时都在增加,比如先后两次使用ls /dev后,就会发现第二次执行的速度会较第一次快。

cached 是用来给文件做缓冲。

cached直接用来记忆我们打开的文件,比如先后执行两次命令#man X ,你就可以明显的感觉到第二次的开打的速度快很多。






你可能感兴趣的:(内存)