LINUX.ORG.RU
ФорумAdmin

Как удалить директорию в которой больше 1КК файлов?

 


3

9

вывод команды

ls -lah
drwxr-xr-x  2 postfix   postfix  4,0K Дек  1  2012 postfix
drwxrwxrwx  2 root      root    1016M Янв  6 16:45 pp5
drwxr-xr-x  2 root      root     4,0K Мар 31  2014 pycentral

перепробовал кучу способов http://serverfault.com/questions/183821/rm-on-a-directory-with-millions-of-files

http://superuser.com/questions/680119/deleting-millions-of-files

http://www.slashroot.in/which-is-the-fastest-method-to-delete-files-in-linux

и не чего не помогает, более 24 часов уже не могу удалить хоть один файл из директории pp5 Может у кого то есть опыт? mkfs не предлагать...



Последнее исправление: cetjs2 (всего исправлений: 2)
Ответ на: комментарий от ipo

У тебя 23 миллиона инодов задействовано из 60, откуда 660КК?

Deleted
()

тред не читал, но я решал эту проблему так:

# cd pp5
# find . -type f -exec rm -f '{}' \;

Да, оно будет очень, очень долго работать. Но сработает 100%.

Komintern ★★★★★
()

тред не читал, вероятный дубль: создать новую файлуху, перенести туда всё кроме, и отформатить.

DonkeyHot ★★★★★
()
Ответ на: комментарий от sdio

Что ты хотел померить в ramdisk'e?

Мне что, ресурсы ссд на это дело переводить? :)
Тут народ кстати это дело в виртуалках запускает — а тот же вирт.бокс в таких тестах — тот же рамдиск (только немного через пятую точку)

Ну и как бэ скорость чтения и записи здесь не решают — или ты считаешь, что файлы вначале нужно полностью прочитать, а потом полностью переписать? И да, ты же эти файлы вначале создаешь, а потом удаляешь — уж открой для себя ФС-кеширование (особенно жалких 600МБ) :)

Вообще то вопрос был про мильен файлов и удаление — так что хотя бы ФС с параметрами написал.

ЗЫ:

чем у меня на древнем компе (середнячок 2008

Да? Т.е ты считаешь, что лаптоп с первым и5 2010 года будет намного быстрее десктопа 2008? =)

линейным чтением 38Мб/с

ССЗБ? (у меня вообще 1,8' тошиба хдд стоял — там 38МБ/c только в падении =) )

anonymous
()
Ответ на: комментарий от int13h

это правильное решение, только такие неконтролируемые засиранием директории надо выделять в отдельные фс и в такой ситуации просто форматировать

sdio ★★★★★
()
Ответ на: комментарий от sdio

У тебя в RAM

Ну дык, сделай в раме, кто тебе мешает? Там 1 Гига за глаза для «икспримента» хватить должно. Все лучше, чем мерять кол., «качество» и параметры кеширования разных дисков и конфигов :)

всего в 5.3 раза быстрее

Пых-пыховец Жабист? =)

anonymous
()
Ответ на: комментарий от anonymous

понятно, продолжайте наблюдения

sdio ★★★★★
()
Ответ на: комментарий от ipo

не помогает, только ребут

У тебя проблемы с диском.

unanimous ★★★★★
()
Ответ на: комментарий от Deleted

забавно, какой говнокод в системных утилитах, оказывается

anonymous
()
Ответ на: комментарий от sdio

А теперь моя виртуалка с 10Гб винтом)

Скрипт закончил работу:

real    258m44.519s
user    2m12.644s
sys     2m27.541s

#time ls tmp/ | wc -l
1751453

real    143m9.797s
user    0m39.714s
sys     1m20.997s

 Файловая система Размер Использовано  Дост Использовано% Cмонтировано в
/dev/vdb1          7,5G         7,0G   22M          100% /home/sergey/test_disk

Файловая система   Iнодов IИспользовано IСвободно IИспользовано% Cмонтировано в
/dev/vdb1        10485760       1751466   8734294            17% /home/sergey/test_disk


#time rm -rf tmp/

real    108m24.845s
user    0m3.432s
sys     1m5.120s

Berluskoni ★★
()
Ответ на: комментарий от sdio

что сказать хотел?

ФС опиши, в рамдиске замерь.

твой лаптоп минимум в двое быстрее

Ты слишком жирный http://www.cpubenchmark.net/compare.php?cmp[]=1604&cmp[]=785

У тебя в RAM работает всего в 5.3 раза быстрее

#swapctl -sl
Device:       512-blocks      Used:
Total:                 0          0
# mount -t tmpfs -o nosuid,noexec,size=5G tmpfs /mymem/
# df -ahi
Filesystem              Size    Used   Avail Capacity iused ifree %iused  Mounted on
tmpfs                   5,0G    4,8G    190M    96%    1,2M   17M    6%   /mymem
# df -i
tmpfs                  5242880  5048028    194852    96% 1176954 17173126    6%   /mymem
# mount
tmpfs on /mymem (tmpfs, local, noexec, nosuid)
# time ls /mymem|wc -l    
 1176953
ls -GF /mymem  12,97s user 6,56s system 2% cpu 19,552 total
wc -l  0,53s user 0,04s system 2% cpu 19,550 total
# time rm -rf /mymem
rm -rf /mymem  0,98s user 167,18s system 0% cpu 2:48,26 total

балабол

anonymous
()
Ответ на: комментарий от int13h

Если ФС не обеспечивает штатную работу с файлами, то стоит задуматься

Она обеспечивает. Но «штатная работа с файлами» не обеспечивает мгновенной обработки миллионов их. Собственно, ничего не обеспечивает; в режиме «по одному в одном потоке» на больших количествах тупит всё. ФС тупит заметнее, возможно, ввиду неявного предположения, что сожержимое файла(т.о. чтение/запись) сильно интереснее, чем его имя(→открытие/переименование) и тем более его отсутствие(→удаление).

DonkeyHot ★★★★★
()
Ответ на: комментарий от anonymous

то что ты с бсдей жидко облелался было понятно сразу, не надо снова и снова этр подтверждать

sdio ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.