温馨提示×

Ubuntu清理内存如何操作

小樊
35
2026-08-02 21:45:09
栏目: 智能运维

在 Ubuntu 中,“清理内存”通常涉及 释放缓存、清理内存占用、释放 Swap、删除无用文件 等。下面按常用场景给你一套完整、安全的操作方法。


一、释放系统缓存(最常见)

Linux 会把空闲内存用作 缓存(buff/cache),这是正常的,不是内存泄漏。

1️⃣ 查看当前内存使用

free -h

2️⃣ 手动清理缓存(非必须,安全)

sudo sync
sudo sysctl -w vm.drop_caches=3

✅ 说明:

  • 1:只清 pagecache
  • 2:清 dentries + inodes
  • 3:全部清理(推荐)

⚠️ 不要频繁执行,只适合临时释放内存。


二、释放 Swap(交换分区)

1️⃣ 查看 Swap 使用

swapon --show
free -h

2️⃣ 关闭并重新开启 Swap

sudo swapoff -a
sudo swapon -a

✅ 适用于:

  • Swap 占用过高
  • 内存已经释放但 Swap 没回收

⚠️ 如果物理内存不足,关闭 Swap 可能导致卡顿或 OOM。


三、找出占用内存最多的进程

1️⃣ 使用 top

top

M 按内存排序

2️⃣ 使用 htop(更好用)

sudo apt install htop
htop

3️⃣ 精确查看某进程

ps aux --sort=-%mem | head

四、清理不必要的内存占用

1️⃣ 重启占用内存的服务

sudo systemctl restart servicename

2️⃣ 结束异常进程

kill PID
# 或强制
kill -9 PID

五、清理系统垃圾(间接释放内存)

1️⃣ 清理 APT 缓存

sudo apt clean
sudo apt autoclean
sudo apt autoremove

2️⃣ 清理日志

sudo journalctl --vacuum-time=7d

3️⃣ 清理 Snap(如已安装)

sudo snap list
sudo snap remove xxx

六、释放被 Docker / 虚拟机占用的内存

Docker

docker system prune -a

查看容器内存

docker stats

七、自动释放内存(不推荐长期用)

sudo sh -c 'echo 1 > /proc/sys/vm/drop_caches'

⚠️ 脚本化、定时执行要谨慎。


八、什么时候 不需要 手动清理?

✅ 以下情况 不用管

  • free -h 显示 buff/cache 高
  • 系统不卡、不 OOM
  • 内存自动回收机制正常

❌ 内存并不是“越空越好”。


九、总结(推荐操作顺序)

free -h
top / htop
sudo swapoff -a && sudo swapon -a
sudo apt clean && sudo apt autoremove

如果你愿意,可以告诉我:

  • ✅ Ubuntu 版本
  • ✅ 是服务器还是桌面
  • ✅ 具体现象(卡顿 / OOM / 内存一直 90%)

我可以给你 针对性的清理方案

0