Столкнулся сегодня с такой проблемкой: дурацкий minidlna весь день грузил процессор на все 100 процентов. Я проигнорировал это проблему, однако потом у меня сломалась Samba, и ни одна шара не работала. Посмотрел, что же там с местом на диске:
df -h
И он мне показал, что в корне не осталось места!
Далее я пошел исследовать по всему корню, что же где не так.
cd / du -h --max-depth 1
И нашел проблему: папка /var весила 85ГБ! А точнее папка log. В ней сидел minidlna.log файл размером во все 85ГБ! Ну и конечно же я удалил его с помощью “rm -rf /var/log/minidlna.log”
Но место так и не освободилось. В общем, inode файла был все еще открыт и он все еще занимал 85ГБ.
Решение
Запускаем
lsof | grep deleted | grep minidlna.log
И видим такую картину
chrome 3446 user 128u REG 253,2 16400 2364626 /var/log/minidlna.log (deleted)
Нам интересна цифра 3446 (какой-то айдишник короче). Далее надо найти ссылку на этот файл в /proc/*наш айдишник*/fd/*ссылка на файл*. Это делается так
ls -l /proc/3446/fd | grep minidla.log
Ну получаем примерно такую вещь:
lrwx------. 1 user unix 64 Feb 11 15:31 128 -> /var/log/minidlna.log (deleted)
Тут нам интересен файл 128. Дальше обнулим этот файл:
cat /dev/null > /proc/3446/fd/128
Ну и, собственно, место освободится после этой операции.