Это задание подготовил подписчик Selectel Newsfeed Дмитрий Пригода специально для нашего блога.
Условие
Михаил — начинающий Linux-инженер. Однажды к нему за помощью обратился коллега, у которого перестал работать сервис. В логах ошибка: невозможно записать файл во временной директории.
Первым делом Михаил ввел команду df -h и увидел, что используется 100% места. Но когда он попытался определить с помощью du -h, какие файлы можно удалить из занимаемого объема, то обнаружил еще 5 ГБ свободного пространства.
Задача
Помогите Михаилу разобраться, почему так произошло и как решить проблему.
Решение
Команды df и du имеют разный механизм подсчета. Первая берет информацию из драйвера файловой системы. Вторая считает размер занимаемых файлов в дереве. Если файл используется одним из процессов, он не удаляется, а только скрывается из списка дерева каталогов. Таким образом, команда du его не учитывает.
Чтобы решить проблему, нужно найти спящий или зависший процесс командой lsof и завершить его.