Уменьшение свободного дискового пространства в каталоге, содержащем только живые индексы люцены - PullRequest
0 голосов
/ 21 января 2020

Я запускаю приложение на основе lucene в системе linux.

Приложение записывает и считывает множество индексов lucene в одном каталоге, который не содержит других данных.

Мы следим за каталогом indexes и заметили, что использование диска, рассчитанное утилитой df, растет быстрее, чем рассчитанное утилитой du.

Когда мы закрываем приложение, использование диска, рассчитанное с помощью двух утилит это то же самое, и оно рассчитывается с помощью du при запуске приложения.

Вы можете выяснить, в чем причина?

1 Ответ

0 голосов
/ 21 января 2020

du вычисляет использование диска путем обхода файловых каталогов и суммирования всех размеров файлов.

df рассчитывает использование диска путем чтения индекса файловой таблицы.

Убедитесь, что для запуска du задано sudo для получить лучшее чтение, чтобы утилита имела доступ ко всем файлам в вашей системе. df может вычислять меньше свободного места, чем du, поскольку du может не иметь доступа ко всем файлам в вашей системе при выполнении своих вычислений.

Приложение должно записать некоторые файлы, защищенные от чтения, в файловую систему во время работы, и удаляет их при выходе.

Чтобы убедиться, что это так, для профилирования приложения можно использовать программное обеспечение, которое может контролировать запись на диск. На windows я бы использовал Process Monitor и фильтр для создания / записи файлов. Я нашел похожий инструмент для этого на linux под названием monks . Не запускайте это на своем производственном сервере. Это может помочь вам найти, какие файлы пишет приложение, и узнать, заблокированы ли они для чтения.

...