在 Ubuntu 系统中,“清理内存占用”通常分为 释放缓存、清理磁盘、关闭/卸载占用内存的进程 等几种情况。下面按常见场景给你一个清晰、安全的操作指南。
free -h
示例输出:
total used free shared buff/cache available
Mem: 7.7G 2.1G 1.2G 200M 4.4G 5.1G
top
# 或更好用的
htop
按 M 可按内存排序(htop)
Linux 会自动管理缓存,一般不建议手动清理,但在某些调试或测试场景下可以:
sudo sync
sudo echo 3 | sudo tee /proc/sys/vm/drop_caches
参数说明:
1:只清 pagecache2:清 dentries + inodes3:全部清理(最常见)✅ 不会杀进程,不会丢数据
❌ 不建议服务器高负载时频繁使用
ps aux --sort=-%mem | head
kill PID
# 或强制
kill -9 PID
如果是 Docker / Java / Chrome 等,优先:
docker ps
docker stop 容器名
sudo apt clean
sudo apt autoclean
sudo apt autoremove
journalctl --disk-usage
sudo journalctl --vacuum-time=7d
swapon --show
sudo swapoff -a
sudo swapon -a
⚠️ 服务器运行重要服务时 不建议这样做
| 来源 | 处理方式 |
|---|---|
| GNOME 桌面 | 重启系统最有效 |
| Snap 应用 | snap list → sudo snap remove xxx |
| Docker | 清理镜像、容器 |
| Java / Python | 查看是否有内存泄漏 |
| Chrome | 关闭多余标签页 |
✅ 需要:
❌ 不需要:
# 重启(终极方案)
sudo reboot
如果你愿意,可以贴一下:
free -h
或
top
的输出,我可以帮你 具体分析是哪一部分在吃内存 ✅