Linux磁盘空间不足?如何彻底清理与扩展

查看磁盘空间使用情况

整体磁盘占用 (df命令)

df -h  # 以人类可读格式(GB/MB)显示所有挂载点
  • 关键列解读
    • Filesystem:磁盘分区名称(如/dev/sda1
    • Size:分区总容量
    • Used:已用空间
    • Avail:可用空间
    • Use%:使用百分比(≥80%需警惕)
    • Mounted on:挂载路径(如、/home

目录级空间分析 (du命令)

du -sh /path/to/directory  # 查看目录总大小
du -h --max-depth=1 /home  # 显示/home下所有子目录大小
  • 高级用法
    • 按大小排序:du -h /var | sort -rh | head -n 10(列出/var下最大的10个文件/目录)
    • 排除特定文件类型:du -h --exclude="*.log" /var

深度分析空间占用来源

定位大文件

find / -type f -size +500M 2>/dev/null  # 搜索大于500MB的文件
  • 解释
    • 2>/dev/null:忽略权限错误提示
    • 替代工具:ncdu(交互式磁盘分析器,需安装)

检查隐藏空间消耗

  • 日志文件:系统日志(/var/log)可能积累数GB数据
  • 缓存文件:包管理器缓存(/var/cache/apt/var/cache/dnf
  • 未清理的临时文件/tmp 或用户目录下的.cache

清理磁盘空间实战步骤

安全删除旧日志

journalctl --vacuum-size=200M  # 限制systemd日志为200MB
rm /var/log/*.log.*  # 删除已轮转的旧日志(先确认内容)

清理包管理器缓存

  • Debian/Ubuntu
    apt clean      # 删除所有已下载的.deb包
    apt autoclean  # 仅删除过期的包
  • RHEL/CentOS
    dnf clean all  # 或 yum clean all

删除临时文件

rm -rf ~/.cache/*   # 用户缓存
sudo rm -rf /tmp/*  # 系统临时文件(注意活跃进程勿删)

扩展磁盘空间(高级操作)

逻辑卷扩容(LVM)

lvextend -L +20G /dev/mapper/ubuntu-vg/root  # 增加20G
resize2fs /dev/mapper/ubuntu-vg/root         # 调整文件系统
  • 前提:需提前在物理卷(PV)中预留空间。

符号链接转移大目录

mv /var/lib/docker /mnt/disk2/      # 迁移Docker数据
ln -s /mnt/disk2/docker /var/lib/   # 创建软链接
  • 适用场景:数据库、Docker等动态增长的数据。

常见问题解决方案

Q1:df显示空间不足,但du统计结果更小?

  • 原因:文件被删除但仍被进程占用(如日志文件)。
  • 解决:重启相关进程或系统,或使用lsof | grep deleted定位后终止进程。

Q2:inode用尽导致“No space left”错误?

df -i  # 检查inode使用率
find / -xdev -type f | cut -d "/" -f 2 | sort | uniq -c | sort -n  # 统计目录inode
  • 处理:删除小文件(如邮件缓存/var/spool/postfix)或迁移目录。

自动化监控建议

  1. 定期检查脚本
    #!/bin/bash
    ALERT=80
    df -h | awk -v ALERT="$ALERT" '$5+0 > ALERT {print $6 " 使用率: " $5}' 
  2. 工具推荐
    • cockpit:图形化服务器管理工具
    • Prometheus+Grafana:企业级监控方案

定期检查磁盘空间(建议每周一次),结合dfduncdu等工具分析,可预防90%的磁盘危机,清理操作前务必确认文件重要性,关键数据建议备份,对于生产服务器,推荐通过日志轮转(logrotate)和监控系统实现长效管理。

引用说明基于Linux手册页(man df/man du)、IBM LVM管理指南及Red Hat官方文档,操作命令已在Ubuntu 22.04/CentOS 7+验证,符合Filesystem Hierarchy Standard(FHS)标准。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5086.html

(0)
酷番叔酷番叔
上一篇 2025年6月20日 04:54
下一篇 2025年6月20日 06:00

相关推荐

  • linux中如何安装禅道

    在Linux系统中安装禅道(ZenTao)需要先了解其环境依赖,禅道是基于PHP开发的项目管理工具,因此需要搭建PHP运行环境、数据库(如MySQL或MariaDB)以及Web服务器(如Nginx或Apache),以下是详细的安装步骤,涵盖环境准备、软件安装、配置及启动全过程,以常见的Ubuntu/Debian……

    2025年10月6日
    12200
  • Linux修改后如何保存退出?

    在Linux系统管理中,无论是修改系统配置文件(如/etc/hosts)、编写Shell脚本,还是编辑日志文件,都离不开文本编辑器的使用,而掌握编辑后如何正确保存并退出,是避免数据丢失、确保操作完成的基础,Linux下常见的命令行文本编辑器包括vi/vim、nano和emacs,它们各自的保存退出操作方式差异较……

    2025年9月22日
    19300
  • Linux如何创建子目录管理文件?

    核心命令:mkdirmkdir(make directory)是Linux创建目录的标准命令,其基本语法为:mkdir [选项] 目录名基础操作示例创建单个子目录在当前位置创建名为 docs 的子目录:mkdir docs在指定路径创建子目录在 /home/user/projects 下创建 backup 子目……

    2025年8月8日
    18600
  • Linux下如何查看U盘的文件系统格式?

    在Linux系统中,查看U盘的文件系统格式是常见需求,无论是为了确保系统兼容性、数据安全,还是为后续操作(如格式化、挂载)做准备,Linux提供了多种命令行和图形界面工具来查看U盘格式,以下将详细介绍这些方法及其使用场景,命令行方法查看U盘格式命令行工具是Linux环境下高效查看设备信息的首选,尤其适合服务器或……

    2025年10月8日
    18100
  • 无光驱环境下怎样安装Linux系统?

    无光驱环境下安装Linux系统已成为主流方式,主要通过U盘或网络实现,其中U盘安装因操作简单、适用性强而广泛使用,本文将以U盘安装为例,详细介绍从准备到完成的全程步骤,准备工作硬件需求U盘:容量≥8GB(建议USB 3.0及以上,速度更快),需提前备份U盘数据(制作过程会格式化),电脑:支持UEFI或Legac……

    2025年8月21日
    18300

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信