当前位置: 首页 > news >正文

Linux Quota 显示空间占用远大于实际数据的问题排查记录

问题描述

在日常运维中,我们发现某用户 aa 在 Samba 挂载目录下实际数据仅为 90G,但通过 quota 命令查看,其磁盘配额占用高达 158G,并且 Samba 挂载出来也显示空间占用异常:

# 查看用户配额
root@server:~# quota -vs aa
Disk quotas for user aa (uid 10120): Filesystem   space   quota   limit   grace   files   quota   limit   grace/dev/sdb1    158G    170G    200G            795k       0       0        # 查看用户目录大小
root@server:~# du -sh /home/aa
90G     /home/aa# 查看磁盘使用
root@server:~# df -h | grep /home
/dev/sdb1       4.8T  3.4T  1.2T  75% /home

因为还有其他程序在跑,所以不能重启服务器

原因分析

duquota 显示数据严重不符时,常见的原因之一是:

有文件虽然已被删除,但仍被进程占用,其空间不会释放,仍计入 quota,但不会被 du 显示。

排查过程

使用 lsof +L1 可以列出所有“已被删除但仍被打开的文件”:

root@server:/home# lsof +L1 | grep aa
... ...
vim       31266  aa    5u   REG   8,17 72175783936     0 101525185 /home/aa/workspace/.../.csp.c.swp (deleted)

可以看到,vim 进程(PID 为 31266)仍然占用一个被删除的 .swp 文件,大小高达 72G,刚好就是多出的大小。

解决方案

尝试释放该文件所占用的空间:

# 方法一(不成功)
pkill -u aa# 方法二(不成功)
kill 31266# 方法三(成功)
kill -9 31266
# 估计是因为有锁在,导致得强制kill

杀掉进程后,空间立即释放,quota 和 Samba 空间都显示都恢复正常。

总结

当 quota 显示占用远高于实际文件大小时:

  • 第一时间使用 lsof +L1 排查是否有 被删除但仍占用的文件
  • 找到具体进程后,根据情况优雅退出、重启或 kill -9 强制释放;
  • 最后用 quota -vs 用户名 确认配额恢复。

这种问题常见于开发环境或长时间运行的服务日志处理,建议配合监控及时发现并自动化清理。

http://www.xdnf.cn/news/224641.html

相关文章:

  • Java写数据结构:队列
  • 基于大模型的膀胱肿瘤全周期诊疗方案研究报告
  • 【KWDB 创作者计划】_KWDB能帮我的项目解决什么问题
  • Golang - 实现文件管理服务器
  • scGPT方法解读
  • 突发-2小时前DeepSeek发布了新模型-不是R2
  • 中小企业如何借助智能海关系统降低跨境运输成本?
  • day006-实战练习题-参考答案
  • 基于 IAR Embedded Workbench 的自研 MCU 芯片软件函数与变量内存布局优化精控方法
  • LeetCode 2905 找出满足差值条件的下标II 题解
  • AI驱动的决策智能系统(AIDP)和自然语言交互式分析
  • ArcGIS+GPT:多领域地理分析与决策新方案
  • 第十一节:Shell脚本编程
  • 软件架构选型之“如何选”
  • Walrus 与 Pudgy Penguins 达成合作,为 Web3 头部 IP 引入去中心化存储
  • 米壳AI:跨境电商图片翻译的“隐形革命”:当AI技术遇上全球化生意
  • Azure Monitor 实战指南:全方位监控应用与基础设施
  • 零基础学指针2
  • 蓝桥杯赛后总结
  • Transformer:颠覆深度学习的架构革命与技术演进
  • HTTP/HTTPS
  • shell(5)
  • 2025年真实面试问题汇总(一)
  • MCP协议:自然语言与结构化数据的双向桥梁 ——基于JSON-RPC 2.0的标准化实践
  • 备战2025年全国信息素养大赛图形化挑战赛——判断闰年和平年
  • iOS RunLoop 深入解析
  • Linux:network: mtu: 隐形知识frag_max_size
  • webpack5启动项目报错:process is not defined
  • CSS常用属性_(进阶)
  • 理解数据库存储以及查询(集合)