users@glassfish.java.net

Re: Hang up: Too many open files

From: <glassfish_at_javadesktop.org>
Date: Tue, 11 Sep 2007 06:31:04 PDT

My understanding may be wrong in some way, but I think the limits settings work something like this:

ulimit is a command that is built into the shell. It can only have effect on the current shell process and child processes.

Also, ulimit can't go beyond what the system security settings allow, so if you tried to increase the number of open files beyond the default 1024 allowed by the security system a single running process will still only be allowed up to 1024 open files. And therefore the security system must be told that more open files are to be allowed. Typically in Linux the security system's limit settings are to be changed by editing /etc/security/limits.conf.

Limit settings in /etc/security/limits.conf may be applied on either a per-user basis or per-group basis or globally. In the example that I provided I was trying to apply the limit increase only to the user id that would benefit glassfish, not globally.

I'm concerned that a limit of 2048 open files is still not enough. Glassfish can really use a *lot* of open files when it's busy. The number is shockingly high. But you have to remember that this is a single process running a lot of threads, providing a lot of functionality, and generally being very busy. But it's all in one process, it's not in a parent process and a bunch of forked child processes like, say, a typical Apache httpd server on Linux.

 I would suggest trying to get 8096 from your ISP. I admit that 32768 seems high, but it's an absolutely-never-worry-about-it-again setting, where as 8096 is a probably-don't-worry-about-it-again setting and 2048 is definitely-worry-about-it-again-when-the-server-is-busy setting.

I would also think about trying to get another ISP if that might be an option, because I get the feeling that your current ISP may coming up a bit short, both in terms of technical ability and in terms of customer responsiveness. Hopefully they'll get better, but if I were dealing with them, right now in my mind they would be "on probation".

Glassfish needs what it needs, and nobody's opinion can change that.

-Paul
[Message sent by forum member 'paulr5930' (paulr5930)]

http://forums.java.net/jive/thread.jspa?messageID=234851