Мы используем Tika для извлечения текстового содержимого PDF для поиска. Я вижу интенсивное использование временных файлов, которые, кажется, теперь лишают нас дескрипторов файлов.
Мы на CentOS 5.5. Для нашей поисковой системы мы ранее увеличили дескрипторы открытых файлов (/etc/sysctl.conf) fs.file-max = 65535
Когда я смотрю на lsof для моего процесса, я вижу множество файлов, помеченных как DEL (удаленные файлы с отображением памяти). Если я перестану отправлять новые документы для индексации, они будут удалены через несколько минут.
java 11105 root DEL REG 104,2 1278402 /tmp/+~JF4155000471009101661.tmp
Могу ли я настроить ядро, чтобы очистить эти файлы DEL раньше, или мне следует увеличить количество дескрипторов файлов? Если да, то как высоко мы можем безопасно подняться? У меня достаточно памяти, чтобы дать ядру больше.
Спасибо
Дэвид
Я не мог найти хорошую ссылку на то, как увеличивается fs.file-max
влияет на систему. Предположительно, это заставляет ваше ядро потреблять больше памяти, поскольку структура для отслеживания открытых файлов становится все больше и больше. Я предлагаю увеличить до большего числа, например 128 КБ, и следить за /proc/sys/fs/file-nr
чтобы узнать, сколько файлов на самом деле используется.
что показывают несколько минут vmstat в это время? vmstat покажет вам, привязаны ли вы к вводу / выводу к процессору, свопу, памяти. Я бы начал там.