Почему этот пустой каталог 3,5 МБ?


16

Я только что прочитал этот вопрос: что означает размер каталога в выводе команды 'ls -l'?

... который не совсем отвечает на мой вопрос. По сути, я перемещаю файлы на NAS. Папки, которые я уже переместил, полностью пусты, без скрытых файлов или чего-либо еще, и все duже сообщают, что их размер составляет 3,5 МБ. По общему признанию, они ранее содержали большое количество файлов с длинными именами файлов.

Является ли этот размер просто из-за количества и длины имени файлов, которые были в этом каталоге? Почему размер не уменьшился теперь, когда папки пусты (файловая система ext4)?


1
du склонен мыслить иначе, чем люди, он выдает отчет, основанный на некоторых настройках файловой системы. Вы можете проверить с помощью '--apparent-size' здесь: gnu.org/software/coreutils/manual/html_node/du-invocation.html .
Герман Ингальдссон

Когда вы копируете вновь созданные пустые каталоги в NAS, что они сообщают об их размерах? Также у вас есть доступ к NAS, где вы можете запустить tune2fs, например?
SLM

Вы учитывали снимки?
mdpc

@slm - они имеют нормальный размер 4096 (байт?).
shearn89

@mdpc - снимки?
shearn89

Ответы:


16

Когда вы удаляете все файлы из каталога, для большинства файловых систем каталог остается того же размера.

Если каталог пуст,

rmdir ./directory_name; mkdir ./directory

В результате новый каталог будет меньше. Но по мере добавления файлов оно будет увеличиваться. Не беспокойтесь о размере файла каталога, а также о количестве файлов в одном каталоге. Огромное количество файлов в одном каталоге отрицательно влияет на производительность поиска файлов. Даже с достаточным кэшированием inode.


4
Большое количество файлов в 1 каталоге действительно имеет значение только для файловых систем ext. Другие, такие как xfs, btrfs, reiser и т. Д., Не имеют такой же проблемы.
Патрик

2
Это верно. Однако у НФ есть проблема, как и у других. Хотя этот вопрос строго ext4, проблема повсеместна, поэтому я упомянул об этом.
Джим Макнамара

Помимо проблем с производительностью, размещение слишком большого количества файлов в каталоге может вызвать другие проблемы - выполнение rm *может привести к проблемам, если у вас более 1024 файлов.
Шон МакSomething

@SeanMcSomething Какие проблемы вы имеете в виду?
Хатшепсут

1
@SeanMcSomething Я понятия не имею, откуда ты взял это дерьмо. Командная строка процесса может быть половиной мегабайта или более. Это не имеет никакого отношения к количеству файлов, общий размер командной строки имеет ограничение, которое, как вы говорите, намного выше.
peterh - Восстановить Монику
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.