首页 > 编程知识 正文

free命令作用,freedom读法

时间:2023-05-05 20:33:24 阅读:275908 作者:241

关于free命令的各参数网上有好多的资料,我们来看看正确的解读方式是怎样的。
现在linux上面的free命令有两个版本,比如centos 6 用的是旧版本,centos 7 用的是新版本,如下
centos 6

[root@centos-6-2 ~]# uname -r2.6.32-573.22.1.el6.x86_64[root@centos-6-2 ~]# free total used free shared buffers cachedMem: 1906904 168440 1738464 3280 6916 47040-/+ buffers/cache: 114484 1792420 Swap: 1048572 0 1048572

centos 7

root:~/ # uname -r3.10.0-514.26.2.el7.x86_64root:~/ # free total used free shared buff/cache availableMem: 999948 168956 451588 31848 379404 618400Swap: 4063228 0 4063228 旧版free

旧版的free命令(centos6)有三行内容:Mem,-/+ buffers/cache,Swap,代表的内容如下:

名称代表的内容Mem物理内存-/+ buffers/cache表示物理内存已用多少,可用多少Swap交换空间

列的内容是total,used,free,shared,buffers,cached,代表的内容如下:

名称代表的内容total总量used已使用的free空闲的shared共享的,在linux里面有很多共享内存,比如一个libc库,很多程序调用,但实际只存一份buffers缓存,可回收cached缓存,可回收

这里有个地方要注意,关于buffers和cached的区别。cached和buffers都可以读写,它们唯一的区别就是一个以裸设备或分区为背景,一个以文件系统里的文件为背景。比如你cat /dev/sda1 > /dev/null,那/dev/sda1的内容进入buffers,如果你cat /opt/test.py > /dev/null,则/opt/test.py的内容进入cached。

看下Mem和Swap的total的计算公式
total = used + free

比如本例中,Mem的used是168440,free是1738464,加起来刚好是total的1906904

接下来看下中间-/+ buffers/cache的used和free是怎么计算的。
-/+ buffers/cache的used = 第一行的used - 第一行的buffers - 第一行的cached

比如本例中,-/+ buffers/cache的used是114484,这个值是由第一行的used 168440,减去第一行的buffers 6916 ,再减去第一行的cached 47040

-/+ buffers/cache的free = 第一行的free + 第一行的buffers + 第一行的cached

比如本例中,-/+ buffers/cache的free 是1792420,这个值是由第一行的free 1738464,加上第一行的buffers 6916 ,再加上第一行的cached 47040

估算空闲的物理内存时可参考-/+ buffers/cache的free的值,但实际的可用内存要小于这个值,因为不能所有的buffers和cached都释放。

新版free

新版free相比旧版,删除了-/+ buffers/cache这行内容,把buffers和cached放一起了,增加了available值。
通过刚才的分析可以看下这样更改更合理,因为buffe和cache本质是一样的,没必要区分出来。
查看可用内存时,直接看available即可,不需要再计算。
available = free + (buff/cache通过一个算法后产生的值)
详细可以看内核的commit
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=34e431b0ae398fc54ea69ff85ec700722c9da773

参考:
https://blog.csdn.net/jus3ve/article/details/79191634

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。