Доброго времени суток уважаемые форумчане.
Есть приложение на яве, через N времени после запуска приложения, оно отказывается принимать запросы на соединения от новых пользователей с ошибкой:
[ERROR] 2011-01-02 13:47:33 - Error while accepting connection: +java.io.IOException: Too many open files
java.io.IOException: Too many open files
Сначала думал на ulimit, проверил, ограничение на макс. число открытых файлох стояло 1024. Выставил 819200 открытых файлов:
ulimit -n 819200Через полчаса, когда количество коннектов к серверу достигает около 1000, приложение опять начинает выдавать эту ошибку, и отказывается принимать новые подключения от клиентов.
Выставил:
sysctl -w fs.file-max=819200Ошибка продолжает сыпаться. Подскажите в чем ещё может быть причина и как исправить?
Вот ещё информация:
# lsof | wc -l
2259 cat /proc/net/sockstat
sockets: used 1055
TCP: inuse 12 orphan 3 tw 17 alloc 1056 mem 1157
UDP: inuse 0 mem 0
UDPLITE: inuse 0
RAW: inuse 0
FRAG: inuse 0 memory 0ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 20
file size (blocks, -f) unlimited
pending signals (-i) 16382
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 819200
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) unlimited
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
cat /proc/sys/fs/file-nr
1440 0 819200