温馨提示×

Ubuntu怎么清理内存占用

小樊
45
2026-08-29 08:10:30
栏目: 智能运维

在 Ubuntu 系统中,“清理内存占用”通常分为 释放缓存、清理磁盘、关闭/卸载占用内存的进程 等几种情况。下面按常见场景给你一个清晰、安全的操作指南。


一、查看内存占用情况(先看再清)

1️⃣ 查看内存使用

free -h

示例输出:

              total        used        free      shared  buff/cache   available
Mem:           7.7G        2.1G        1.2G        200M        4.4G        5.1G
  • buff/cache:缓存,不是问题,必要时系统会自动释放
  • available:实际可用内存
  • used:已用内存

2️⃣ 查看进程内存占用

top
# 或更好用的
htop

M 可按内存排序(htop)


二、安全清理内存缓存(不推荐频繁使用)

Linux 会自动管理缓存,一般不建议手动清理,但在某些调试或测试场景下可以:

清理页面缓存、目录项、inode

sudo sync
sudo echo 3 | sudo tee /proc/sys/vm/drop_caches

参数说明:

  • 1:只清 pagecache
  • 2:清 dentries + inodes
  • 3:全部清理(最常见)

不会杀进程,不会丢数据
不建议服务器高负载时频繁使用


三、关闭/卸载占用内存的进程(最推荐)

1️⃣ 找出内存大户

ps aux --sort=-%mem | head

2️⃣ 杀掉异常进程

kill PID
# 或强制
kill -9 PID

如果是 Docker / Java / Chrome 等,优先:

  • 关闭多余标签页
  • 停止无用容器
docker ps
docker stop 容器名

四、清理磁盘(间接减少内存压力)

1️⃣ 清理 APT 缓存

sudo apt clean
sudo apt autoclean

2️⃣ 删除无用依赖

sudo apt autoremove

3️⃣ 清理日志

journalctl --disk-usage
sudo journalctl --vacuum-time=7d

五、释放被“占用”的 Swap(交换分区)

查看 swap

swapon --show

关闭再开启(慎用)

sudo swapoff -a
sudo swapon -a

⚠️ 服务器运行重要服务时 不建议这样做


六、Ubuntu 桌面用户常见内存占用点

来源 处理方式
GNOME 桌面 重启系统最有效
Snap 应用 snap listsudo snap remove xxx
Docker 清理镜像、容器
Java / Python 查看是否有内存泄漏
Chrome 关闭多余标签页

七、什么时候“真需要清理内存”?

✅ 需要:

  • 内存长期 95%+
  • OOM 被杀进程
  • 测试、调试环境

❌ 不需要:

  • buff/cache 占用高
  • free 小但 available 大

八、最安全的“万能操作”

# 重启(终极方案)
sudo reboot

如果你愿意,可以贴一下:

free -h

top

的输出,我可以帮你 具体分析是哪一部分在吃内存

0