O Tomcat não libera arquivos [Erro de muitos arquivos abertos] (oracle APEX - Tomcat)

1

Eu tenho tido um problema com o tomcat, onde continuo recebendo "Muitos arquivos abertos"

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)

Eu tentei aumentar o ulimit para arquivos abertos para 65536, mas tudo isso aumenta o erro.

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

Descobri que o erro está vindo de um aplicativo apex que pesquisa o banco de dados em busca de alterações. O aplicativo pesquisa a cada 3 segundos. se eu assistir a contagem de arquivos lsof | grep tomcat | wc-l , posso ver o número aumentando enquanto o aplicativo está aberto e depois fica estável quando fechado. e quando há várias sessões abertas, esse número pode crescer rapidamente.

Existe algum valor de configuração que eu possa definir no server.xml ou algo no lado do apex que limitará o número de arquivos que ele mantém aberto? Qualquer ajuda será muito apreciada.

NOTA. As conexões do aplicativo estão sendo fechadas. Eu posso ver isso fazendo netstat -a | grep client_hostname . Eu posso ver uma conexão exta chegando a cada 3 segundos e depois desaparecendo.

    
por bscullion 25.07.2018 / 13:04

0 respostas

Tags