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

Программа жалуется на недостаток места на диске, даже если оно существует

У меня есть раздел EXT3, смонтированный в режиме упорядоченных данных. Если сбой питания происходит, когда программа создает файлы в этом разделе, я вижу, что использованное пространство является нормальным, и я не вижу никаких частично записанных файлов. Но когда я снова пытаюсь запустить ту же программу после восстановления системы, она жалуется, что на диске недостаточно места. Несмотря на то, что заявленное свободное пространство намного больше, чем требуется. Программа всегда успешно работает в нормальных условиях. Также проблема исчезает при перемонтировании раздела. Мне было интересно, что может быть правильным способом справиться с ситуацией, кроме размонтирования и повторного монтирования.

Похоже, что файловая система становится несовместимой. Если в вашей среде вероятен сбой питания, отключите все затронутые кеши обратной записи (RAID без BBU, дисковый кэш записи). Или, по крайней мере, подумайте о том, чтобы разместить журнал ext3 на отдельном диске без ненадежного кеша обратной записи.

... в дополнение к андаторному fsck, предложенному DerfK.

Я думаю, что это открытые inodes после неожиданного завершения вашего приложения. Эта команда заставит ядро ​​удалить из памяти чистые кеши, записи и дескрипторы.

echo 2 > /proc/sys/vm/drop_caches