大佬们, Linux 内存情况看 free 还是看 available 呀

2020-07-07 14:42:07 +08:00
 dtgxx

....... total used free shared buff/cache available
Mem 62G 18G 19G 9.2M 23G 43G
Swap 31G 0B 31G


下面是查到的,但是还是不理解 “buffer 和 cache 其实都属于已经被使用的内存” ,是被占用了,还是被使用过现在没被占用呢? Linux 内存情况看 free 还是看 available 呀?


free 与 available 的区别 free 是真正尚未被使用的物理内存数量。 available 是应用程序认为可用内存数量,available = free + buffer + cache (注:只是大概的计算方法)

Linux 为了提升读写性能,会消耗一部分内存资源缓存磁盘数据,对于内核来说,buffer 和 cache 其实都属于已经被使用的内存。但当应用程序申请内存时,如果 free 内存不够,内核就会回收 buffer 和 cache 的内存来满足应用程序的请求。

7483 次点击
所在节点    Linux
7 条回复
dilu
2020-07-07 14:50:36 +08:00
个人习惯是看 available,因为 linux 的内存管理机制使先申请再使用,究竟用不用就看程序了

所以 free 只是完全没有被申请的内存,当然 available 也不是百分百准确。两个辅助着来看就行了。
changePro
2020-07-07 17:20:03 +08:00
`man free`
dtgxx
2020-07-07 18:02:02 +08:00
@dilu #1 了解了 感谢!
beijiaoff
2020-07-07 18:10:53 +08:00
“buffer 和 cache 其实都属于已经被使用的内存” buffer 和 cache 就是里面有缓存的数据,这些数据可能正在使用也可能待会会用,但是随时删掉也无所谓。
其实 windows 也是一样,空闲的内存系统都要尽量用光。
Chenamy2017
2020-07-08 11:39:32 +08:00
看这个 https://www.cnblogs.com/black-mamba/p/5918688.html

可用内存=free 的内存+cached 的内存+buffers 的内存
listc
2020-07-09 14:50:52 +08:00
cat /proc/meminfo
dtgxx
2020-07-09 15:32:23 +08:00
@listc #6

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/687894

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX