Tomcat не выпускает файлы [Ошибка слишком большого количества открытых файлов] (oracle APEX -> Tomcat)

385
bscullion

У меня возникла проблема с tomcat, из-за которой я получаю «Слишком много открытых файлов»

25-Jul-2018 08:17:49.504 SEVERE [http-nio-443-exec-31] . /u01/app/ords/ords.18.1.1.95.1251/db_conf/m/url-mapping.xml: Too many open files java.nio.file.FileSystemException: /u01/app/ords/ords.18.1.1.95.1251/db_conf/m/url-mapping.xml: Too many open files at sun.nio.fs.UnixException.translateToIOException(UnixException.java:91) at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107) at sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:214) at java.nio.file.Files.newByteChannel(Files.java:361) 

Я попытался поднять ulimit для открытых файлов до 65536, но все, что это делает, это продлевает ошибку.

tomcat@tomcatserver():/home/tomcat> ulimit -a | grep open open files (-n) 65536 

Я обнаружил, что ошибка исходит от приложения Apex, которое опрашивает базу данных на предмет изменений. Приложение опрашивает каждые 3 секунды. если я смотрю количество файлов, lsof | grep tomcat | wc-lя вижу, как число увеличивается, когда приложение открыто, а затем остается стабильным, когда закрыто. и когда открыто несколько сеансов, это число может довольно быстро расти.

Есть ли какое-либо значение конфигурации, которое я могу установить в файле server.xml или что-то на стороне apex, которое ограничит количество файлов, которые он сохраняет открытыми? Любая помощь будет оценена.

НОТА. Соединения из приложения закрываются. я могу видеть это, делая netstat -a | grep client_hostname. Я вижу, как соединение exta приходит каждые 3 секунды, а затем исчезает.

1

0 ответов на вопрос