温馨提示×

Ubuntu Recycle回收站占用过多内存怎么办

小樊
41
2025-12-21 21:04:01
栏目: 智能运维

Ubuntu 回收站占用过多空间的定位与清理

先厘清概念

  • 回收站占用的是磁盘空间,不是内存(RAM)。若看到的是“内存占用高”,通常是某个进程(如 gvfsd-trash)在扫描或操作大量回收站文件导致;若看到的是“磁盘空间不足”,多半是回收站里堆积了大量文件。回收站在用户目录下的路径为:~/.local/share/Trash/,其中包含 files(实际文件)与 info(元数据)等子目录。

快速释放空间

  • 图形界面:打开“文件”(Nautilus),在侧栏点击回收站,选择清空回收站
  • 命令行清空当前用户回收站:
    • rm -rf ~/.local/share/Trash/*
  • 使用命令行工具清空回收站(推荐更安全):
    • 安装:sudo apt-get install trash-cli
    • 清空:trash-empty
  • 若图形界面卡顿或命令行删除很慢(大量大文件时),可用 rsync 快速清空回收站目录:
    • rsync --delete-before -a -H -v --progress --stats /home/用户名/任意空目录/ /home/用户名/.local/share/Trash/files/
  • 别忘了其他挂载盘(如 NTFS 数据盘)也有各自的回收站目录(例如 .Trash-1000),需要分别进入各挂载点清理,例如:
    • rm -rf /media/用户名/卷名/.Trash-1000/files/*
  • 清理后可用 baobab(磁盘用量分析器)检查空间是否释放:baobab。

无法登录或桌面异常时的清理

  • 在登录界面按 Ctrl+Alt+F1 进入 TTY,登录后先检查磁盘:df -h
  • 若提示 No space left on device(磁盘已满)导致循环登录或桌面不显示,先清理回收站(例如:rm -rf ~/.local/share/Trash/*),必要时再清理 APT 缓存(sudo apt-get clean)或临时文件(谨慎操作 /tmp),然后重启:reboot。

进程占用高时的处理

  • 回收站里文件特别多时,gvfsd-trash 可能短时占用较高内存或 CPU。可先用 top/htop 找到对应 PID,必要时执行 kill -9 结束该进程(仅在确认无重要删除任务运行时进行)。清理回收站后占用通常会回落。

预防与自动化

  • 使用 trash-cli 配合 cron 定期清理(例如每小时):
    • 编辑定时任务:crontab -e
    • 添加:0 * * * * /usr/bin/trash-empty
  • 若需按用户或分区做更严格的容量控制,可对用户目录启用 quota(磁盘配额),但这与“回收站”概念不同,属于更底层的磁盘限额方案。

0