du должен перечислить все каталоги и статистику по каждому найденному файлу, чтобы в итоге прочитать все данные на диске
, получая размеры файлов, суммирует их, а после завершения печатает сумму
например, в этом каталоге с 2 миллионами файлов в файловой системе sshfs:
prompt$ time du -sh .
367G .
real 12m53.093s
user 0m3.848s
sys 0m14.265s
но из-за кэширования для второго запуска требуется только:
prompt$ time du -sh .
367G .
real 4m56.875s
user 0m4.136s
sys 0m15.257s