У нас есть веб-приложение, развернутое на Tomcat, которое может иметь более 300 тыс. Дескрипторов файлов, в то время как ограничение для одного процесса составляет 250 тыс.
Странная вещь: когда сервер работает, число увеличивается (400 КБ) и уменьшается (100 КБ). Иногда мы не можем войти в ОС, когда число велико. Однако мы не нашли никаких ошибок, связанных со многими открытыми файлами или установкой сокета.
Большинство файловых дескрипторов связано с файлами JAR, загруженными JVM. Мои вопросы:
1. Как ОС (CentOS 7) считает файловые дескрипторы для tomcat? Я не думаю, что Tomcat сохраняет эти файлы открытыми во время работы.
2. Почему номер не зафиксирован? Вместо этого есть много дубликатов jar-файлов.
3. Нормально ли иметь так много файловых дескрипторов?