在 Ubuntu 里“清理内存”通常分几种情况:释放缓存、释放被占用的内存、结束占用内存的进程。下面按常见场景给你说明(含命令和注意事项)。
free -h
或
htop
(没有 htop 可以 sudo apt install htop)
Linux 会自动用空闲内存做缓存(cache / buffer),一般不需要手动清理,但你可以手动释放。
sudo sync
sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches'
说明:
sync:把内存中未写入磁盘的数据写回磁盘echo 3:
查看效果:
free -h
如果内存被某个程序吃光了:
ps aux --sort=-%mem | head
或
htop
kill PID
强制结束:
kill -9 PID
⚠️ 不要乱杀系统进程(如 systemd、gnome-shell)
如果 swap 占满,可以先关再开:
sudo swapoff -a
sudo swapon -a
⚠️ 确保物理内存足够,否则可能卡死
例如 Docker、MySQL、Java 程序:
sudo systemctl restart docker
sudo systemctl restart mysql
✅ 内存被 cache 占满但系统变慢
✅ 测试环境、跑性能测试
✅ 程序异常导致内存泄漏
❌ 日常使用其实不需要
如果你愿意,可以把你现在的 free -h 输出贴出来,我可以帮你判断是不是真的需要清理,或者是不是内存不够了。