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

Расчет дискового пространства сервера - ошибки Нет такого файла или каталога

Когда я делаю

du -h --max-depth=1

на моем сервере появляются следующие ошибки,

du: cannot access `./proc/13379/task/13379/fd/4': No such file or directory
du: cannot access `./proc/13379/task/13379/fdinfo/4': No such file or directory
du: cannot access `./proc/13379/fd/4': No such file or directory
du: cannot access `./proc/13379/fdinfo/4': No such file or directory

если я сделаю

rm -rf /proc/13379/* 

чтобы удалить папку, она возвращается с другим pid.

Как мне узнать, какой процесс использует это и какие проблемы с этими ссылками на файлы?

Фактически, папка «/ proc /» предназначена для размещения информации о процессе и связи с irq, файловым дискриптором и другими источниками ядра (которые, как ожидается, будут видеть ссылку цикла и в зависимости от работы самого процесса).

Следовательно, его невозможно удалить, когда процесс запущен и работает, поскольку процесс занимает ресурс в этой папке. Кроме того, PID выражается в "/ proc / {PID}", поэтому вам не нужно использовать какие-либо команды (например, lsof) для поиска того, какой процесс использует эту ссылку на файл. В приведенном выше случае «13379» - это идентификатор процесса, который вы ищете.

Как упоминалось выше, / proc - это служебная информация от запущенных на машине процессов. Это виртуальная файловая система, не занимает места на диске и содержит только символические ссылки и «файлы» с информацией, которые генерируются ядром или читаются ядром (некоторые из них доступны для записи).

Однако эти сообщения об ошибках совершенно безвредны. Что случилось, так это du собрал список каталогов в / proc (которые являются идентификаторами процессов), и когда он попытался спуститься в каталог или даже находясь внутри него, процесс завершился и соответствующий ему каталог исчез. Это смущает du.

Чтобы избежать таких ошибок, вы можете пропустить / proc с --ecxlude=/procили используйте другие параметры, например --one-file-system или --exclude-from=FIlE так что вы также можете пропустить / dev, / sys и т. д.