在 Linux 中,“缓存内存”通常指的是 Page Cache / Buffer Cache(用于加速文件读写),而不是程序出错占用的内存。这些内存在系统需要时会被自动释放,一般情况下不需要手动清理。
如果你确实需要手动清理(如性能测试、排查问题),可以按下面方法操作。
free -h
或
cat /proc/meminfo
关注:
Buff/CacheAvailablesudo sync
sudo echo 1 > /proc/sys/vm/drop_caches
sudo sync
sudo echo 2 > /proc/sys/vm/drop_caches
sudo sync
sudo echo 3 > /proc/sys/vm/drop_caches
✅ sync 的作用是先把脏数据写回磁盘,避免数据丢失。
sudo sh -c 'sync; echo 3 > /proc/sys/vm/drop_caches'
sudo sysctl vm.drop_caches=3
sudo vim /etc/sysctl.conf
添加:
vm.drop_caches=3
然后:
sudo sysctl -p
⚠️ 生产环境不建议开机自动清缓存。
✅ 适合:
❌ 不建议:
如果是某个程序占太多内存,应:
top
或
ps aux --sort=-%mem
再决定是否 kill 进程。
如果你愿意,可以告诉我:
我可以给你更合适的建议。