Задать вопрос

В Debian, после чистки папки, команда ls и доступ к файлу очень долгий, с чем связано?

В Debian, после чистки папки tmp от сессий php, а их было около 15 млн. , команда ls и доступ к файлу стал очень долгий.
первое открытие файла может длиться до 3х секунд! в любой другой папке нормально. Даже если опять всё удалить, ничего не меняется.
Возможно проблема решится удалением папки и созданием новой, но интересно на будущее что с этим делать.
P.s. сессии вообще хранятся в базе НО, они периодически создавались, пока не выставил в настройках session.save_handler = user
***@***:~/tmp$ time ls ~/
email  etc  logs  mod-tmp  tmp  www

real	0m0.002s
user	0m0.000s
sys	0m0.000s
***@***:~/tmp$ time ls ~/tmp

real	0m0.202s
user	0m0.000s
sys	0m0.200s


Не стал больше тратить время. Удалил папку, удаление заняло пол часа, в папке был только 1 мой тестовый файл. По iнодам было видно, что изменения были в пределах единиц (кто-то из пользователей что-то удалил/добавил). Для меня останется это тайной (
  • Вопрос задан
  • 2500 просмотров
Подписаться 3 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 4
butteff
@butteff
Раз в тысячу лет заправляю свитер в носки
А точно ли папка пуста? Может удалены файлы те, на которые были права, а какие-то остались? Если папка много весит, миллионы файлов, поэтому долго ответ идет? Скрытые файлы есть?
Ответ написан
Комментировать
merryjane
@merryjane
Системный администратор
lsof натравите на этот каталог, чтобы быть уверенным что ее действительно никто не держит.
Ответ написан
Комментировать
@pilip Автор вопроса
Файлы из папки удалил все. При проверке была пуста 100%, из под рута проверял, в папке ни скрытых ни каких других файлов не было, только сессии.
с утра попробовал lsof, вывод пуст
решил глянуть не создалось ли за ночь файлов, написал ls от обычного пользователя, подождал 5 минут, а результата ноль, хотя судя по df -i файлов за ночь создалось не более 1000, из них я думаю большинство пользовательские, т.е. причины не увидел, iotop показывал 99,98% на ls
Попытка прибить процесс не увенчалась успехом, под root тоже не смог прибить, повис апач от нагрузки на io, перезапуск его так же не удался, видимо он смотрит в папку с сессиями или из-за нагрузки не мог создать какой-нибудь файл.
запустить апач смог только перезагрузкой.
папку переместил, для сессий новую сделал, в новой всё отлично работает
поставил ~/mod-tmp2$ time ls -1 | wc -l с низким приоритетом, сервак не висит, посмотрим подсчитает чего или нет (уже мнут 20 думает)
Когда только начал считать, до удаления, такой способ нашел мне 15млн файлов, а сейчас всего на сервере 2млн, так что причина ступора непонятна
Продолжим попытки выяснить в чём дело? Или не мучить себя да вас и попытаться прибить паку и забыть про неё, хотя чувствую будет подвох при её удалении )

update
~/mod-tmp2$ time ls -1 | wc -l
1

real	26m35.291s
user	0m0.008s
sys	0m6.348s
Ответ написан
Комментировать
@teamfighter
Глупое предположение, но, может директория является монтированной? То есть в нее монтирована какая-то сетевая шара?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы