在 Ubuntu(以及所有 Linux 系统)中,**内存(Memory)和缓存(Cache)**是密切相关但容易混淆的概念。下面用通俗的方式说明它们之间的关系。
内存是系统用来临时存放正在运行的程序和数据的硬件。
只要程序在运行,就会占用一部分内存。
查看内存使用:
free -h
或
top
在 Ubuntu 中,你看到的“缓存(cache)”通常不是浏览器缓存,而是 Linux 文件系统的页缓存(Page Cache)。
当系统读取磁盘文件时:
✅ 这部分内存是“借来的”
系统觉得:内存闲着也是闲着,不如拿来缓存文件。
总内存 = 已用内存 + 空闲内存 + 缓存/缓冲
在 free -h 中你会看到:
total used free shared buff/cache available
Mem: 7.7G 2.1G 1.2G 200M 4.4G 5.0G
used:程序真正用掉的buff/cache:文件系统缓存available:还能给程序用的(含可回收缓存)当程序需要更多内存时:
✅ 所以:
缓存占用高 ≠ 内存不够
新手常误以为:
“我才开个浏览器,怎么内存用了 80%?”
真相是:
一般不需要。
强行清理反而降低性能:
# 不推荐随便用
sudo sync && sudo echo 3 > /proc/sys/vm/drop_caches
要看 available,不是 free
当 available 很小,系统会:
Ubuntu 的缓存是“用空闲内存换速度”,缓存属于内存,但可以随时还给程序用。
如果你愿意,我也可以:
htopfree 输出