vcscastro
(usa Debian)
Enviado em 30/09/2011 - 11:47h
Salve Galera,
Sou novo aqui na comunidade.
Estou tentando colocar a minha aplicação em um servidor linux debian.
Minha aplicação é feita em Java e tenho que manter conectado ao mesmo tempo mais de 5000 equipamentos de rastreamentos veicular.
Minha aplicação esta lançando a seguinte exception:
java.io.IOException: Too many open files
at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method)
at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:145)
at br.com.ces.svias.principal.Principal.main(Principal.java:70)
Procurando em foruns java significa que o limite de conxoes estourou, fiz alguns testes com limite menor do que o default e o erro é quase que instantaneo.
Fiz algumas alterações que achei em forum, como por exemplo:
no arquivo /etc/sysctl.conf mudei para fs.file-max = 100000
no arquivo /etc/security/limits.conf mudei para
root soft nproc 60000
root hard nproc 60000
root soft nofile 60000
root hard nofile 60000
Mais algumas informações do meu sistema
debiansvias:~# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 12479
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 60000
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 60000
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
Mesmo alterando esses arquivos continuo tendo o erro acima.
Já nao sei mais o que fazer e meu cliente esta solicitando uma solução.
o linux que estou usando é debian e esta em cima de uma maquina virtual windows, não se isso influencia,já foi solicitado uma maquina somente linux e o cliente não quer mexer.
Att
Vinicius Castro