在 Linux 系统中,“清理内存”通常分为主动释放缓存、结束占用进程、以及系统级调优几种方式。下面按常见场景说明。
Linux 会利用空闲内存做文件缓存,必要时会自动释放,一般无需手动清理。若确实需要(如测试、释放内存):
# 清空 pagecache、dentries、inodes
sync
echo 3 > /proc/sys/vm/drop_caches
参数说明:
1:只清 pagecache2:清 dentries 和 inodes3:全部清理⚠️ 需要 root 权限,且会影响性能(缓存重建需要时间)
free -h
top
htop
ps aux --sort=-%mem
kill -9 PID
如果 swap 占用高:
swapoff -a
swapon -a
⚠️ 前提:物理内存足够,否则会 OOM
sysctl vm.swappiness=10
-Xmx--memorysystemctl restart nginx
systemctl restart mysql
drop_caches✅ 正常情况:不用清理,Linux 自己管
✅ 测试/排障:用 drop_caches
✅ 内存不够:加内存 / 限服务 / 查泄漏
如果你有具体场景(如服务器卡顿、Docker、Java 占内存),可以告诉我,我给你更针对性的方案。