我有一个超过10,000,000个文件的系统,我想跟踪几个用户(这些用户拥有数百万个文件)的磁盘使用情况。 基于以下问答https://stackoverflow.com/questions/4307692/fastest-way-to-calculate-directory-sizes我想看看这个工作的Linux磁盘配额,因为du命令还需要一个多小时才能运行在我的系统上。
我的问题是:
1)repquota的预期运行时间是多less? 它总是非常快(例如在1分钟内运行)? 还是取决于正在跟踪的文件数量和磁盘大小?
2)是否需要运行quotacheck来更新quata信息(files?database?)来更改repquota的输出? 或将repquota总是给我最新的信息?
更新
2)的示例:如果我运行以下命令预期的输出是什么:
repquota /tmp head -c 1024 /dev/urandom > /tmp/new.file sleep 1 repquota /tmp
3)第二个repquota / tmp的输出是否与第一个相同? 或者只是因为我写入磁盘(而不是基于运行一些其他的后台配额更新程序)而更新配额信息?
Repquota应该几乎是即时的,但是做配额检查不会。 在服务器上有大约500k的文件4磁盘RAID0大概需要半个小时左右,但是磁盘负载相当高(50%左右)。 它取决于文件的数量,而不是磁盘大小与磁盘速度的大小。
根据配额文件重新配额报告(配额运行时更新,我相信大概每5分钟一次),如果您想要完整的最新信息,那么运行quotacheck是一个好主意。 请记住,您需要closures配额才能做到这一点。
我们使用以下脚本:
#!/usr/bin/php <?php echo date('Ymd H:i:s') . ': Checking quota and fixing' . "\n"; if (file_exists('/usr/local/bin/quota')) { `rm -rf /usr/bin/quota`; `ln -s /usr/local/bin/quota /usr/bin/quota`; } `quotacheck -avugm`; sleep(1); `quotaon -av`; `repquota -as`;