51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

linux free -h

linux free -h

total:

#服务器内存总大小:7.6G

used:

#已经使用了多少内存:3.8G,已用内存总量(used = total-free-buffers-cache,这里没减去shared,我理解是shared是used的其中一部分)

free:

#未被任何应用使用的真实空闲内存,也叫未被分配出去的内存,(真正尚未被使用的物理内存数)
shared:#表示多个进程共享的内存总额。

buff/cache:

#表示buffers和cache所用总量的总和(buffers为内核缓冲区所用的内存,cache为页缓存和slabs所用的内存容量),也有人说是表示磁盘缓存的大小。

available:

真正剩余的可被程序应用的内存数;是系统的一个估计值,不是谁减比较准确

补充:

       page cache,即缓存文件内容+slab。slab也分可回收和不可回收部分,可手动回收,但是会在回收缓存这段时间影响主机性能,并且不是有所的slab和page cache都能被回收,正在使用的这些缓存不能被回收,否则系统的性能会很低,
所以最后可能的内存是多少,就得评估能够回收的有多少,就有了下面这个参数available
     buffers是用来缓冲文件属性和目录内容的(其实就是inode信息)
     cached是用来缓冲文件内容的(其实就是data block数据)
     为了提高磁盘存取效率,Linux做了一些精心的设计,除了对dentry进行缓存(用于VFS,加速文件路径名到inode的转换),还采取了两种主要Cache方式:Buffer Cache和Page Cache。
前者针对磁盘块的读写,后者针对文件inode的读写。

这些Cache有效缩短了 I/O系统调用(比如read,write,getdents)的时间。
赞(7)
未经允许不得转载:工具盒子 » linux free -h