Too many open files

Fairlight fairlite at fairlite.com
Fri Oct 1 14:36:32 PDT 2010


Simon--er, no...it was Brian K. White--said:
> > *** A filePro Error Has Occurred ***
> >
> > File Table Full

That error is really ambiguous.  It doesn't determine if it's hitting a
filePro internal limitation, a user-wide limit, or a system-wide limit.

However, the number 60 says it's internal to filePro, unless some -really-
insane administrator has been at your system internals.  The defaults are
huge on most systems...1024 minimum per user per login session, and way
more than that system-wide.  

The 60 is a number I've seen dating back to SCO systems.  I believe this to
be a filePro limitation.

> (for instance using a stock opensuse install I never set anything having 
> to do with open file limits and I never run into this, but it's just 
> because of the way opensuse happens to set it's defaults, and certain 
> accounting and quotas packages which I do not install. If I ever did hit 
> this problem, the way to fix it wouldn't be the same on a centos or a 
> debian box.)

System-wide limits are actually settable via a few special files under
/proc, and I've done this before on other systems.

> 60 is a very small number so it sounds like a per process or per user 
> limit, because the system wide kernel limit is usually a minimum of 8096 
> and that is considered way too low, 65535, 131000 or 200000 are more 
> sensible.
> http://www.debianhelp.co.uk/kerneltuning.htm

I doubt it's the process or user limits.  I've not seen a system with user
process limits at 60 since 1990 on a BSD 4.3 Tahoe system on a Unisys 7000,
and that was specifically modified -to- keep users from running away with
the system.  Defaults in any modern distribution -should- be much higher.

> All that said, the simplest and first thing to check is ulimit. "ulimit 
> -n" shows the max open files allowed for the current user. Run just 
> "ulimit" as the user, and as filepro, and root. Do any of those show any 
> files limit or all unlimited?

Make sure you're using bash.  If you try it from any other shell, it's not
even present as a command.  At least not by default on SLES10, it's not.

> How you would change these if they are too limited depends of the 
> distribution. Probably there is some files in /etc that get included in 
> the users environment, or the overall servers startup environment, and 
> probably those files get edited by some distribution-specific admin utility.

Or it's overrideable by setting files in /proc at the end of the boot
process.  There are a bunch of ways to skin this cat--IF that's the actual
problem.  And I have severe reservations that the OS is to blame here.

What -I'd- really like to see is an `ls -l` of /proc/$PID/fd/* for any
filePro process that's complaining about this.  My guess is that there are
a lot of opened files from lookups, imports, exports, whatever, that
haven't been closed with the close command.  And that listing would show
you exactly which files are open yet.

mark->
-- 
Audio panton, cogito singularis.


More information about the Filepro-list mailing list