I am using Tomcat 7.0.53 with Spring 4 websockets (spring's SockJS support).
I notice that tomcat opens thousands of files.
Just running for a few hours I noticed, it opened 16,552 files:

root@dripcast:~# lsof -p 22691 | wc -l
16552

Our logs are full of this exception thrown tons of times every second:
org.apache.tomcat.util.net.AprEndpoint$Acceptor run
SEVERE: Socket accept failed
org.apache.tomcat.jni.Error: 24: Too many open files
     at org.apache.tomcat.jni.Socket.accept(Native Method)
     at
org.apache.tomcat.util.net.AprEndpoint$Acceptor.run(AprEndpoint.java:992)
     at java.lang.Thread.run(Thread.java:745)


Here is a sample of some of the open files, using lsof.
What can we do to fix this?

java    2056 root *904u  sock                0,7      0t0  77846 can't
identify protocol
java    2056 root *905u  IPv6              76695      0t0    TCP
dripcast:https->pppoe.95-55-165-198.dynamic.avangarddsl.ru:1376
(ESTABLISHED)
java    2056 root *906u  IPv6              74369      0t0    TCP
dripcast:https->fibre.backbonetechnology.com:46415 (ESTABLISHED)
java    2056 root *907u  IPv6              76696      0t0    TCP
dripcast:https->outbound.kenshoo.com:14292 (ESTABLISHED)
java    2056 root *908u  sock                0,7      0t0  76697 can't
identify protocol
java    2056 root *909u  sock                0,7      0t0  76698 can't
identify protocol
java    2056 root *910u  0000                0,9        0   7351 anon_inode
java    2056 root *911u  0000                0,9        0   7351 anon_inode
java    2056 root *912u  0000                0,9        0   7351 anon_inode
java    2056 root *913u  0000                0,9        0   7351 anon_inode
java    2056 root *914u  0000                0,9        0   7351 anon_inode
java    2056 root *915u  sock                0,7      0t0  76699 can't
identify protocol
java    2056 root *916u  sock                0,7      0t0  76700 can't
identify protocol
java    2056 root *917u  sock                0,7      0t0  76701 can't
identify protocol
java    2056 root *918u  sock                0,7      0t0  76702 can't
identify protocol
java    2056 root *919u  sock                0,7      0t0  77845 can't
identify protocol
java    2056 root *920u  sock                0,7      0t0  76705 can't
identify protocol
java    2056 root *921u  IPv6              76906      0t0    TCP
dripcast:https->c-67-185-79-130.hsd1.wa.comcast.net:61280 (ESTABLISHED)
java    2056 root *922u  0000                0,9        0   7351 anon_inode
java    2056 root *923u  sock                0,7      0t0  77847 can't
identify protocol
java    2056 root *924u  sock                0,7      0t0  75196 can't
identify protocol
java    2056 root *925u  sock                0,7      0t0  76907 can't
identify protocol
java    2056 root *926u  IPv6              76908      0t0    TCP
dripcast:https->cdm-75-108-116-63-nixa.mid.suddenlink.net:56996
(ESTABLISHED)
java    2056 root *927u  0000                0,9        0   7351 anon_inode
java    2056 root *928u  IPv6              76909      0t0    TCP
dripcast:https->fibre.backbonetechnology.com:46416 (ESTABLISHED)
java    2056 root *929u  sock                0,7      0t0  76910 can't
identify protocol
java    2056 root *930u  sock                0,7      0t0  76911 can't
identify protocol
java    2056 root *931u  IPv6              76912      0t0    TCP
dripcast:https->outbound.kenshoo.com:14309 (ESTABLISHED)
java    2056 root *932u  0000                0,9        0   7351 anon_inode
java    2056 root *933u  0000                0,9        0   7351 anon_inode
java    2056 root *934u  0000                0,9        0   7351 anon_inode
java    2056 root *935u  0000                0,9        0   7351 anon_inode
java    2056 root *936u  0000                0,9        0   7351 anon_inode
java    2056 root *937u  sock                0,7      0t0  73405 can't
identify protocol
java    2056 root *938u  sock                0,7      0t0  73406 can't
identify protocol
java    2056 root *939u  sock                0,7      0t0  73407 can't
identify protocol
java    2056 root *940u  sock                0,7      0t0  71475 can't
identify protocol
java    2056 root *941u  sock                0,7      0t0  74371 can't
identify protocol
java    2056 root *942u  0000                0,9        0   7351 anon_inode
java    2056 root *943u  sock                0,7      0t0  74372 can't
identify protocol
java    2056 root *944u  sock                0,7      0t0  74373 can't
identify protocol
java    2056 root *945u  sock                0,7      0t0  74378 can't
identify protocol
java    2056 root *946u  0000                0,9        0   7351 anon_inode
java    2056 root *947u  sock                0,7      0t0  71476 can't
identify protocol
java    2056 root *948u  sock                0,7      0t0  74379 can't
identify protocol
java    2056 root *949u  sock                0,7      0t0  76929 can't
identify protocol
java    2056 root *950u  0000                0,9        0   7351 anon_inode
java    2056 root *951u  IPv6              76922      0t0    TCP
dripcast:https->c-67-185-79-130.hsd1.wa.comcast.net:61281 (ESTABLISHED)
java    2056 root *952u  sock                0,7      0t0  76923 can't
identify protocol
java    2056 root *953u  sock                0,7      0t0  76930 can't
identify protocol
java    2056 root *954u  IPv6              76924      0t0    TCP
dripcast:https->outbound.kenshoo.com:14337 (ESTABLISHED)
java    2056 root *955u  sock                0,7      0t0  76925 can't
identify protocol
java    2056 root *956u  IPv6              76926      0t0    TCP
dripcast:https->kpersfw.state.ks.us:62427 (CLOSE_WAIT)
java    2056 root *957u  sock                0,7      0t0  76931 can't
identify protocol
java    2056 root *958u  0000                0,9        0   7351 anon_inode
java    2056 root *959u  0000                0,9        0   7351 anon_inode
java    2056 root *960u  0000                0,9        0   7351 anon_inode
java    2056 root *961u  0000                0,9        0   7351 anon_inode
java    2056 root *962u  0000                0,9        0   7351 anon_inode


Prashant

Reply via email to