На ITшных собеседованиях любят задавать задачку: что делать, если в директории так много файлов, что попытка применить rm * (и даже ls *2012*) натыкается на ограничение длины командной строки.
Я раньше думал, что задачка чисто умозрительная. Фиг там. Сегодня я случайно нашёл директорию, в которой лежало более ДВУХСОТ ТЫСЯЧ файлов. ls на ней задумывался навсегда, потому что по умолчанию пытался их отсортировать по алфавиту. du думал секунд двадцать.
Файлики туда добавлялись постепенно. Много лет. Каждый день по несколько десятков. И файловая система не сдохла. UFS на солярке.
Оригинал этой записи в личном блоге.
Любые материалы из этого блога запрещается использовать на сайте livejournal.ru в любой форме и любом объёме.
Tags:
no subject
ну и ls -f тоже никто не отменял
no subject
обычный ext4 линуксовый, правда распихано было по 2-3 каталогам.
no subject
Но пост-то был не про это :)
no subject
no subject
http://jerom.livejournal.com/191040.html
no subject
сколько-то туда влилось же:)
no subject
А так, да, Solaris UFS нетороплив, но фактически неубиваем
no subject
no subject
no subject
no subject
root@alexkuklin-x121:/home/alexkuklin# time du /srv/test/1/ -sh
4,5G /srv/test/1/
real 0m24.385s
user 0m1.880s
sys 0m12.553s
root@alexkuklin-x121:/home/alexkuklin# time ls -1 /srv/test/1/ | wc
1023105 1023105 17392785
real 0m17.561s
user 0m16.993s
sys 0m1.188s
root@alexkuklin-x121:/home/alexkuklin# df /srv/test; df /srv/test -i;
Файлова с-ма 1K-блокове Заети Свободни Изп% Монтирана на
/dev/mapper/x121-test 30963708 4470188 24920912 16% /srv/test
Файлова с-ма I-възли Заети Свобод Изп% Монтирана на
/dev/mapper/x121-test 1966080 1068659 897421 55% /srv/test
root@alexkuklin-x121:/home/alexkuklin# mount
/dev/mapper/x121-test on /srv/test type ext3 (rw,relatime,errors=continue,user_xattr,acl,barrier=1,data=ordered)
это все в процессе создания еще файлов со скоростью от 500 до 1000 файлов в секунду, на ноуте.
no subject
у танка отвалилась башнякончились i-node-ы:1966067
bash: 00000000001dfff4: Няма свободно място на устройството
root@alexkuklin-x121:/home/alexkuklin# time ls -1 /srv/test/1/ | wc
1966068 1966068 33423156
real 0m31.722s
user 0m30.654s
sys 0m1.932s
root@alexkuklin-x121:/home/alexkuklin# time du /srv/test/1/ -sh
7,6G /srv/test/1/
real 0m50.195s
user 0m2.992s
sys 0m20.997s
так что дифирамбы солярке... эээ... преждевременны :)
сейчас попробую этот зоопарк удалить
no subject
no subject
no subject
17:17 < CoolCold> listing was several hours long..
17:18 < CoolCold> it found 10 million of files finally
Я б не сказал что жизнь сервера была как-то особенно печальна, lenny bpo kernel (2.6.32), файлуха xfs. Удалялось это два дня, причем с отключенными барьерами, с включенными может и за неделю бы не справилось..
no subject
А не так давно "очищал корзину" в винде, в которой скопилось чуть более миллиона файликов. А всего-то - удалил с десяток папок по 100-120 тысяч файликов в каждой, забыв, что "синие панельки" (FAR manager) по умолчанию удаляют в корзину.
Кстати, эти 100000 файликов в одном каталоге у меня создаются примерно за сутки. А всего за сутки создаётся примерно 250000 файликов в пяти каталогах, затем создаются новые пять каталогов на новые сутки, и так по кругу уже года два. Старые файлы, правда, удаляются (автоматически, после архивации) :-)
NTFS, WXP. Пока не сдохла, и даже не тормозит...
no subject
Там не 200k файлов (вернее, каталогов) было, а только 65k вроде, но всё равно много.
no subject
no subject
no subject
no subject
ls/du нормально отрабатывает
удаляется, правда, очень долго, но это ожидаемо
no subject
no subject
У заказчика было такое на HP-UX. ls умирала, но удалили через find | xargs.
И да, айноды кончаются первыми. Их надо довесить для таких экспериментов, количество же регулируется.
Но система вполне живуча.