[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Разный размер директории, после lsync



On Sat, 7 Dec 2013, Alexander Wiedergold WIEDERGOLD.NET wrote:

Am 26.11.2013 06:50, schrieb Vladimir Zhbanov:
On Mon, Nov 25, 2013 at 11:52:34PM +0800, yuri.nefedov@gmail.com wrote:
...
  Я тут внимательно прочитал первое письмо и потом man du.
  Так вот -b == --apparent-size --block-size=1
  Если файлы точно одинаковые, то очевидно должна
  различаться apparent-size директорий.

  Для примера можно так протестировать.
  Создать пустую директорию и зайти туда
  du -b .
  должно быть 4096
  затем
  for ((i=1;i<1000;i++));do touch file_$i; done
  и опять du -b .
  У меня на разных разделах, но с абсолютно одинаковой
  fs (ext4) получилось:
  sda4: 24576
  sda3: 28672

  А вот почему так, я, честно говоря, и сам хотел бы узнать.
Ю.

Возможно дело в месте, которое ФС резервирует под имена файлов.
Я сделал два простых теста:
1. каталоги /tmp/a/ и /tmp/b/ наполнил файлами $i -- du показывает
одинаковые размеры
2. каталог /tmp/a/ наполнил файлами $i, а /tmp/b/ -- файлами,
скажем, asdf$i -- размеры разные
Причём во втором случае после удаления всех файлов из обоих
каталогов и создания новых с одинаковыми именами ($i) du -sb всё
равно показывает всё те же разные размеры для /tmp/a/ и /tmp/b/.


Да, длина имени файла влияет на размер блоков


 У меня на обоих партициях все одинаково: файловые системы,
 имена, папки создаю с нуля.  А размеры получаются стабильно разные.
 С помощью dumpe2fs удалось несколько прояснить ситуацию.
 Партиция sda3 оказалась значительно фрагментирована.
 Эти 999 inods выделились аш в трех группах в отличии от sda4,
 где все уместилось в одной.
 И если я правильно понимаю, то в первом случае почему-то на
 самом деле выделилось 1000 inods. Точнее не понять,
но видимо в этом и дело. Ю.
Reply to: