Назад | Перейти на главную страницу

Почему удаление некоторых файлов происходит так медленно?

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

$ ls -lah a/
-rwxrwxrwx 1 user user    4 Nov 17 12:31 af8048e4aec858a02ac48119545413dd

$ time (rm -v af8048e4aec858a02ac48119545413dd)
removed ‘af8048e4aec858a02ac48119545413dd’

real    0m7.908s
user    0m0.000s
sys     0m0.000s

В то время как удаление другого файла выглядит так:

$ touch some_file
$ time (rm -v some_file)

removed ‘some_file’

real    0m0.003s
user    0m0.000s
sys     0m0.000s

Я не понимаю, что происходит. Боюсь какой-то аппаратной проблемы ...

Любая помощь приветствуется и будет оценена.

Спасибо.

Это зависит от размера файла и степени его фрагментации во время удаления.

Файлы большего размера могут занимать больше секторов на диске и с большей вероятностью будут более фрагментированы на диске. Таблица FS должна удалить записи индекса для файла, что может занять больше времени, если потребуется найти его на диске.

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

Если привод должен обнулить диск (безопасное стирание), это также займет время. Я не верю, что простой "rm" выполнит безопасное стирание, но я знаю, что он будет делать это на серверах баз данных, если не отключен.