文档首页> 常见问题> 如何清理Linux服务器上的磁盘空间?

如何清理Linux服务器上的磁盘空间?

发布时间:2025-05-27 07:45       

Linux服务器磁盘空间清理终极指南:8个高效解决方案

当您的Linux服务器频繁发出"磁盘空间不足"警告时,系统性能将急剧下降。本文揭示8个专业运维人员常用的磁盘清理技巧,帮您快速释放宝贵空间。

一、快速定位磁盘空间占用源

使用ncdu工具(比df更直观):

sudo apt install ncdu  # Debian/Ubuntu
sudo yum install ncdu  # CentOS/RHEL
ncdu /

这个交互式工具会按目录大小排序显示,用方向键导航,Enter键深入d键删除

二、清理APT/YUM/DNF缓存(针对包管理系统)

Ubuntu/Debian:

sudo apt clean          # 清理所有已下载的.deb包
sudo apt autoremove     # 删除不再需要的依赖

CentOS/RHEL:

sudo yum clean all      # 清理YUM缓存
sudo dnf clean all      # 新版Fedora/CentOS

三、处理日志文件(最容易忽视的空间杀手)

使用journalctl管理systemd日志:

sudo journalctl --vacuum-size=200M  # 限制日志总大小为200MB
sudo rm /var/log/*.gz               # 删除已压缩的旧日志

配置logrotate自动轮转日志:编辑/etc/logrotate.conf

四、查找并删除大文件(3种专业方法)

方法1:快速查找大于100MB的文件

find / -type f -size +100M -exec ls -lh {} \;

方法2:查找最近7天修改过的大文件

find / -type f -size +50M -mtime -7

五、容器和镜像清理(Docker用户必看)

docker system prune -a     # 清理所有未使用的对象
docker volume prune       # 清理未使用的卷

警告:此操作会删除所有停止的容器和未被使用的镜像!

六、处理/tmp目录(常被遗忘的临时文件)

安全清理方法:

sudo find /tmp -type f -atime +10 -delete

建议配置tmpreaper自动清理:

sudo apt install tmpreaper
sudo dpkg-reconfigure tmpreaper

七、内核旧版本清理(Ubuntu特别需要)

查看已安装内核:

dpkg --list | grep linux-image

删除旧内核(保留最近2-3个):

sudo apt purge linux-image-X.X.X-XX-generic

八、高级技巧:使用BTRFS/ZFS压缩(长效解决方案)

如果使用BTRFS文件系统:

sudo btrfs filesystem defrag -r -v -czstd /

ZFS用户可使用:

zfs set compression=lz4 pool/dataset

最佳实践建议

  • 建立定期清理计划(cronjob)
  • 重要数据删除前先备份
  • 考虑使用监控工具如Prometheus预警

通过这8个方法组合使用,通常可立即释放30%以上的磁盘空间。对于生产环境,建议在非高峰期执行清理操作。