温馨提示×

如何优化Ubuntu系统性能的清理方法

小樊
46
2025-11-23 16:37:04
栏目: 智能运维

Ubuntu 性能优化与清理实用指南

一 快速释放磁盘空间

  • 清理 APT 缓存与无用依赖
    • 删除所有已下载安装包:sudo apt clean
    • 仅删除过时安装包:sudo apt autoclean
    • 移除不再需要的依赖与旧内核:sudo apt-get --purge autoremove
  • 删除旧内核(先确认当前内核)
    • 查看当前内核:uname -r
    • 列出已安装内核:dpkg --list | grep linux-image
    • 安全删除旧版本(示例):sudo apt-get purge linux-image--generic
  • 清理 systemd 日志
    • 保留最近一周:sudo journalctl --vacuum-time=1w
    • 或限制总大小:sudo journalctl --vacuum-size=100M
  • 清理缩略图与临时文件
    • 缩略图:rm -rf ~/.cache/thumbnails/*
    • 临时文件:sudo rm -rf /tmp/*
  • 清理 Snap 旧版本(Snap 常保留多版本)
    • 查看所有版本:snap list --all
    • 删除指定旧版本(示例):sudo snap remove firefox --revision 1234
  • 删除残留配置(已卸载但保留配置)
    • 一键清理 rc 状态包:sudo apt-get purge $(dpkg -l | awk ‘/^rc/ { print $2 }’)
  • 图形化工具(可选)
    • BleachBitsudo apt-get install bleachbit
    • Stacersudo add-apt-repository ppa:oguzhaninan/stacer && sudo apt update && sudo apt install stacer
    • 注:部分工具需谨慎勾选项,避免误删个人数据。

二 定位大文件与空间占用

  • 先看整体使用:df -h
  • 逐级定位大目录(示例从根开始):du -h --max-depth=1 / | sort -h
  • 进入占用大的目录继续细分:du -h --max-depth=1 /var | sort -h
  • 找出最大文件(示例):ls -lhS /var/log/(按大小倒序)
  • 若磁盘满但找不到大文件,可能是“已删除文件句柄未释放”(常见于日志轮转或应用未关闭文件),需重启相关进程或检查服务。

三 内存与 I/O 优化

  • 查看内存与交换:free -hhtop
  • 调整交换倾向(降低写入 swap 的概率,提升交互响应)
    • 临时设置:sudo sysctl vm.swappiness=10
    • 永久生效:编辑 /etc/sysctl.conf 加入 vm.swappiness=10
  • 清理页面缓存(仅在必要时使用,避免影响性能)
    • 同步数据:sync
    • 释放缓存:echo 3 | sudo tee /proc/sys/vm/drop_caches
  • 启用 ZRAM(压缩内存块,缓解小内存设备压力)
    • 加载模块:sudo modprobe zram
    • 查看:lsmod | grep zram
    • 建议配合 systemd 服务管理(创建 /etc/systemd/system/zram.service 并启用/启动)
  • 可选:禁用不必要的错误报告服务以省资源
    • 编辑 /etc/default/apportenabled=1 改为 enabled=0,并重启或停止服务。

四 自动化与维护策略

  • 定时清理脚本示例(/usr/local/bin/cleanup.sh)
    • 内容:
      #!/bin/bash
      sync
      sudo apt-get autoclean
      sudo apt-get clean
      sudo journalctl --vacuum-time=7d
      rm -rf ~/.cache/thumbnails/*
      sudo snap list --all | awk '/disabled/{print $1,$3}' | while read n r; do sudo snap remove "$n" --revision "$r"; done
      
    • 赋权:chmod +x /usr/local/bin/cleanup.sh
    • 加入定时任务(crontab -e):每周日凌晨 2 点执行
      • 0 2 * * 0 /usr/local/bin/cleanup.sh
  • 建议配合日志轮转(logrotate)与监控(如 baobab 图形化分析)形成长期维护闭环。

五 安全注意事项

  • 删除旧内核前务必确认当前内核:uname -r,避免误删导致无法启动。
  • 慎用 rm -rf,尤其是 /tmp/var 等系统目录;不确定时先备份或使用更安全的包管理/专用工具。
  • 清理日志与缓存可能影响故障排查与性能分析,生产环境建议先评估保留周期与影响范围。
  • 图形化清理工具请先“预览”,避免勾选浏览器密码、会话等敏感数据。

0