metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2010-09-26 02:45 pm

Файловые системы и большое количество файлов

Поведение NTFS на диске с порядка полмиллиона файлов меня как-то огорчает. Сейчас переношу с одного диска на другой - оно минут 15 только структуру папок сканировало.
Как линуксовые FS себя ведут в подобных случаях?

[identity profile] inhate.livejournal.com 2010-09-26 02:51 pm (UTC)(link)
чуда не будет. полмиллиона файлов - это очень-очень дорого везде.

[identity profile] norguhtar.livejournal.com 2010-09-26 03:23 pm (UTC)(link)
Везде хреново. Ну reiserfs немного получше, но не сильно уж чтоб получше.

[identity profile] zelanton.livejournal.com 2010-09-26 03:31 pm (UTC)(link)
вот поэтому, а так же потому, что вы знаете про и вам нужен только 1% из этого говна, человечеству нужна бытовая БД, вместо этой файловой поделки.

[identity profile] vk11.livejournal.com 2010-09-26 04:04 pm (UTC)(link)
ты еще права доступа попробуй изменить :))))

[identity profile] vaddimka.livejournal.com 2010-09-26 10:13 pm (UTC)(link)
SSD спасет человечество

[identity profile] f-dv.livejournal.com 2010-09-27 06:33 am (UTC)(link)
А вы не майтесь фигнёй типа Total, VC, MC и Far. Вы сделайте простой cd и сp(mv/move/rm/del) и будет вам счастье. Хоть на in_memory_cool_FS и 40-ка ядерном хосте сканирование 500000 файлов таки займёт не мало времени. А потом ещё имя каждого из них при обработке показать вам. Это же логично. Чем вы думаете?

[identity profile] devnu11.livejournal.com 2010-09-27 07:53 am (UTC)(link)
из консоли при mv значительно быстрее происходит, чем из mc/чегонибудьгуевое - отрисовка жутко тормозит процесс, вроде у ребе белнетмона был пост про видеокарту

попробовал переместить дерево портов (130 тыс файлов)
slayer # find /usr/portage -type f |wc -l
129364

сбросил файловый кэш:
slayer # echo 3 > /proc/sys/vm/drop_caches

с ext4 на reiser3, с обнуленным кешем:
slayer # time mv /usr/portage /home/
real 11m54.194s
user 0m1.896s
sys 0m55.675s

обратно, кеш не трогал:

slayer # time mv /home/portage /usr/

real 4m13.231s
user 0m1.211s
sys 0m30.927s