Administrator
发布于 2025-06-17 / 20 阅读
0
0

linux磁盘使用率过高处理

第一步:紧急释放磁盘空间

🔍 1. 找出占用空间的大目录

你已经使用了 du 命令查看 /data 目录的占用情况。可以进一步深入分析,定位具体文件:

sudo du -ah /data | sort -rh | head -n 20

这将列出 /data 中占用空间最大的文件或子目录。

如果需要分析整个系统:

sudo du -sh /* | sort -rh

然后逐层深入,例如:

sudo du -sh /var/* | sort -rh
sudo du -sh /home/* | sort -rh

🧹 2. 清理系统日志和缓存

系统日志和缓存文件容易堆积,清理这些文件可以快速释放空间。

清理日志文件

系统日志通常位于 /var/log 目录,可以查看哪些日志文件过大:

sudo du -sh /var/log/* | sort -rh

清理日志文件:

sudo journalctl --vacuum-time=7d    # 清理日志,只保留最近7天的日志
sudo rm -rf /var/log/*.log          # 删除过期或不需要的日志文件
sudo rm -rf /var/log/journal/*      # 清理二进制日志

清理缓存文件

缓存文件通常位于 /var/cache/tmp

sudo du -sh /var/cache/* | sort -rh
sudo rm -rf /var/cache/*
sudo rm -rf /tmp/*

🗃️ 3. 删除大文件

查找系统中超过 100MB 的大文件:

sudo find / -type f -size +100M -exec ls -lh {} \; | sort -k 5 -rh | head -n 20

删除不需要的大文件(例如旧的备份文件、临时文件等):

sudo rm -rf /path/to/unnecessary/file

🧹 4. 清理未使用的软件包

清理未使用的包和依赖:

sudo apt autoremove -y
sudo apt clean

🗂️ 5. 清理 Docker 容器和镜像(如果使用 Docker)

Docker 容器和镜像可能占用大量磁盘空间,清理这些文件可以释放空间:

# 删除未使用的容器
sudo docker container prune -f

# 删除未使用的镜像
sudo docker image prune -a -f

# 删除未使用的网络和卷
sudo docker network prune -f
sudo docker volume prune -f

查看 Docker 使用的磁盘空间:

sudo du -sh /var/lib/docker/*

⚙️ 第二步:持久优化磁盘使用

📦 1. 移动非必要文件到其他磁盘或存储

将一些占用空间大的文件(如 /data/hdsp, /data/xdsp)迁移到其他存储设备或挂载额外的磁盘:

sudo mv /data/hdsp /mnt/external_disk/hdsp
sudo mv /data/xdsp /mnt/external_disk/xdsp

如果没有额外磁盘,可以考虑挂载云存储(如 S3、阿里云 OSS)或使用 NFS。


🗃️ 2. 压缩文件

对于不常用但需要保留的文件,可以使用压缩工具减小空间占用:

sudo tar -czvf /data/hdsp.tar.gz /data/hdsp
sudo rm -rf /data/hdsp

📅 3. 定期自动清理

设置 cron 定期清理日志和缓存:

sudo crontab -e

添加以下任务:

# 每周清理日志和缓存文件
0 2 * * 0 journalctl --vacuum-time=7d
0 3 * * 0 rm -rf /var/cache/*
0 4 * * 0 rm -rf /tmp/*

🗂️ 4. 挂载新磁盘或扩容

如果磁盘空间不足是长期问题,可以考虑扩容或挂载新磁盘:

  1. 挂载新的磁盘到 /mnt/new_disk
    sudo fdisk /dev/sdX    # 创建分区
    sudo mkfs.ext4 /dev/sdX1
    sudo mount /dev/sdX1 /mnt/new_disk
    
  2. /data 迁移到新磁盘:
    sudo mv /data/* /mnt/new_disk/
    sudo umount /data
    sudo mount /dev/sdX1 /data
    

⚠️ 注意事项

  1. 备份重要数据:在删除或迁移文件之前,确保数据已备份。
  2. 避免删除系统关键文件:例如 /etc, /bin, /usr 等目录中的文件不要随意删除。

3. 监控磁盘使用情况:安装监控工具(如 ncdu, iotop, sysstat)定期检查磁盘使用情况。


评论