Иногда в Linux возникает ситуация, когда после удаления файла не освобождается дисковое пространство.
Проблема обычно связано с тем что при удалении файла с помощью rm, не освобождаются дескрипторы файла, так как файл занят (используется каким либо процессом), при этом при просмотре через du размер файлов в системе, гораздо меньше.
Это так же может быть актуально для логов, после ротации.
Из снимка экрана видно, что дисковое пространство полностью занято, хотя фактически часть файлов уже было удалено.
При этом занимаемое место, гораздо меньше
Для определения служб или процессов, которые не освободили файлы, которые фактически удалены используем lsof
1 | lsof|grep '(deleted)' |
И видим, что файлы удалены, но продолжают использоваться rsyslog
после рестарта службы rsyslog, дисковое пространство освободилось.
1 | df -h |