Здесь есть пара способствующих факторов.
Получение списка всех имен файлов в каталоге требует декодирования, анализа и расшифровки нижних имен файлов.
Вызовы stat () из du вызывают поиск, который требует выделения inode eCryptfs, чтения части метаданных нижнего файла, проверки того, что это файл eCryptfs, а затем анализа незашифрованного размера файла для установки поля i_size inode в eCryptfs., Имейте в виду, что чтение метаданных из нижней файловой системы включает чтение страницы в кэш страницы нижней файловой системы.
Из-за дизайна eCryptfs, он имеет некоторые печальные издержки при работе с большим количеством файлов. Я уверен, что есть некоторые улучшения / улучшения, которые должны быть сделаны, несмотря на дизайн, но оптимизация этой части кода ранее не была моей задачей.