我在没有 root 访问权限的系统上超出了我的磁盘配额。我尝试删除旧文件,但仍然结束。我试着跑去du
找我用完所有空间的地方,但它报告我使用的空间很少。
结果来自 quota
/home/1234$ quota -s
Disk quotas for user 1234 (uid 1234):
Filesystem space quota limit grace files quota limit grace
cslab:/home 4519M* 4096M 5120M 09:47 6155 0 0
Run Code Online (Sandbox Code Playgroud)
从 du
/home/1234$ du -mad 1
...
936 total
Run Code Online (Sandbox Code Playgroud)
我不明白为什么quota
说我使用 4.5GB 而du
只计算 .9GB。我还检查了我拥有的文件/tmp
,那里有 50MB 的文件。其他 3.5GB 的文件在哪里?是否有可能是配额系统错误并需要重置?
我相信某些进程可能仍保持某些文件打开状态。您可以尝试使用列出它们,
lsof | grep username | grep deleted
Run Code Online (Sandbox Code Playgroud)
更好的版本是使用,
lsof +L1 | grep username
Run Code Online (Sandbox Code Playgroud)
但是,有时 和 之间的输出可能存在差异du
,此链接quota
对此进行了解释。摘自链接,
在 Unix 中,du 和quota 命令可能报告不同的值。造成这种差异的原因是,遍历文件系统、检查配额和更新使用表的进程仅在特定时间运行。因此,在配额检查之间会有一段时间,quota -v 命令会报告不正确的磁盘使用情况。使用 du 命令获取有关文件大小的最准确信息。