Доброго времени суток.
Внутренний почтовый сервер внезапно оказался высоконагруженным ресурсом ( :D ). Один человек никогда не очищал корзину, и теперь листинг этого каталога висит и ест память ( уже 11 мин, ls ~ 1,3 Gb RES ( !!! ) )
На мой взгляд, ситуация аномальная, т.к. ls -f $dir должен выводить содержимое сразу же, без сортировки. Если каталог большой - да, медленно и печально, но сразу. А тут ест память совершенно молча. При том что останавливал и проверял ФС, отключил всех других потребителей диска. RHEL 5.8, ext3. Нормально ли такое поведение ls? Что можно использовать вместо него?
Пока думаю подцепить новый диск и перенести всё кроме этого чёртова каталога. Но это устранение симптома, а не причины
ls -f /home/maildb/username/.Trash/cur/
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5888 root 18 0 1681m 1.3g 844 D 2.0 90.4 0:11.73 ls
[root@vml-mail-office ~]# ls -lhd /home/maildb/username/.Trash/cur/
drwx------ 2 maildb maildb 574M Oct 3 02:12 /home/maildb/username/.Trash/cur/
up. пришло в себя, выводит километровый листинг
up2. Perl рулит и педалит. rm, ls и find почему-то нет. Правильное решение:
perl -e '$|=1; chdir "/home/maildb/username/.Trash/cur" or die; opendir D, "."; while ($n = readdir D) { unlink $n; }'
Или с подробностями:
perl -e '$|=1; chdir "/home/maildb/username/.Trash/cur" or die; opendir D, "."; while ($n = readdir D) { printf "\t%s\n", $n; unlink $n; }'