You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

EC2服务器与AWS控制台磁盘使用数据不一致,寻求技术指导

EC2 Ubuntu实例磁盘用量本地与AWS控制台显示不一致的排查与解决

核心差异原因

AWS控制台统计的是EBS卷实际已占用的磁盘块,而df -Th是文件系统层面的使用统计,差异通常来自未被文件系统识别的占用项——比如已删除但被进程持有的文件、隐藏的系统缓存/日志、被挂载覆盖的遗留文件。

排查与解决步骤

  • 清理被进程占用的已删除文件
    执行lsof | grep deleted,输出会显示哪些进程还持有已删除文件的句柄,这类文件虽已删除但磁盘空间未释放,df不会统计,但会被AWS控制台算入实际占用。
    解决方式:找到对应进程(比如MongoDB的mongod),重启进程释放空间,示例命令:

    sudo systemctl restart mongod
    
  • 清理系统日志与缓存

    1. 查看日志目录占用:du -sh /var/log,若日志过大,执行清理:
      • 压缩并保留指定大小的系统journal日志:sudo journalctl --vacuum-size=500M
      • 删除旧的压缩日志文件:sudo rm /var/log/*.gz
    2. 清理APT包管理缓存:sudo apt autoremove && sudo apt clean,移除无用依赖包和安装缓存。
  • 检查被挂载覆盖的隐藏文件
    如果某个目录(比如/var/lib/mongodb)被挂载了额外卷,挂载前该目录下的原有文件会被隐藏,这些文件仍占用磁盘空间,但du和df无法统计到。
    解决方式:临时卸载挂载点查看并清理,示例操作:

    sudo umount /var/lib/mongodb
    # 清理目录内遗留文件(操作前请备份重要数据)
    sudo rm -rf /var/lib/mongodb/*
    # 重新挂载目录
    sudo mount /var/lib/mongodb
    
  • 检查Swap空间占用
    执行swapon --show查看是否存在大体积swap文件/分区,若swap占用过高且非必要,可关闭并删除swap文件:

    sudo swapoff /swapfile
    sudo rm /swapfile
    

验证

执行df -Th再次查看本地统计,同时刷新AWS控制台的磁盘用量,等待10-15分钟后对比数据是否一致。

内容的提问来源于stack exchange,提问作者pyTRON

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 15:27:19