Muitos arquivos abertos no soquete

1

Eu tenho um grande problema e é que o aplicativo de produção da minha empresa que infelizmente não consigo desligar e reiniciar (não sei como, e não quero cometer nenhum erro) está emitindo muitas exceções muitos arquivos abertos ao tentar abrir um soquete para ler de um servidor ftp.

2013-01-02 16:19:03,222 ERROR [main] software.background.Program(Program.java:doExecute{225}) - Exception during ftp transfer
someclasses.ftp.FtpException: Could not create connection to xxxx
    at someclasses.communication.ftp.FtpImpl.connect(FtpImpl.java:114)
    at Program.doExecute(Program.java:176)
    at Program.main(Program.java:287)
Caused by: java.net.SocketException: Too many open files
    at java.net.Socket.createImpl(Socket.java:397)
    at java.net.Socket.<init>(Socket.java:371)
    at java.net.Socket.<init>(Socket.java:189)
    at someclasses.Ftp.connect(Ftp.java:386)

Eu entendo que o limite por aplicativo de arquivos / soquetes abertos e assim por diante é alcançado. Existe alguma maneira de aumentar este máximo por enquanto sem fechar o aplicativo? Eu executei o comando ulimit e declara unlimited . Eu tentei verificar quantas conexões ele abriu com o comando lsof -p PID , mas ele diz "comando não encontrado".

Ficaria muito feliz se alguém pudesse me ajudar a encontrar outro efeito semelhante ao da lsof (acho que é uma máquina de chapéu vermelho) e conselhos sobre como consertar isso temporariamente? A solução mais agradável para isso seria aumentar os arquivos / soquetes que o aplicativo poderia abrir. Este é apenas um aplicativo java simples.

Obrigado antecipadamente!

EDITAR outra solução seria se houvesse algum comando em que eu pudesse pesquisar como esse programa foi executado desde o início com todas as bandeiras eventuais. Então eu talvez pudesse reiniciá-lo com sucesso. Este é um aplicativo legado.

    
por Ms01 02.01.2013 / 16:40

1 resposta

1

Tudo terminou com o reinício da aplicação. Eu mudei o ulimit -n para 2048 e recarreguei a configuração. No entanto, todos os processos herdados da configuração antiga e do aplicativo precisavam ser reiniciados.

    
por 03.01.2013 / 14:37

Tags