[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: 1024 fd limit ?



> GOMBAS Gabor wrote:
> > 
> > On Thu, Nov 16, 2000 at 11:52:10AM +0100, Yann Dupont wrote:
> > 
> > > ydupont@Enya:/$ cat /proc/sys/fs/file-max
> > > 16384
> > 
> > It is the system-wide limit (the sum of the number of files held open by
> 
> of course. That's what I was explaining in the 2 previous posts.
> 
> > _all_ running processes can be 16384). The per-process limit is hardcoded
> > in /usr/src/linux/include/linux/limits.h:
> > 
> > #define NR_OPEN         1024
> 
> In the 1st post, I said I've changed this value to 4096, recompiled
> openldap & still seems to have the same limits. (that is 1024 open
> files)
> 
> So the question is (& it's probably not openLDAP related at all now) is
> changing NR_OPEN form 1024 to 4096 supposed to work and raise 
> the limit to 4096 open file/socket per process ??
> 
> Or do I have to change others include/library ???

Take a close look at the documentation for select().  The problem may
be that even though the system can now handle 4096, select may not be
able to due to hard coded limits in there.  There may or may not be
a way around this.  Take a look at select.h.  I suspect you can get
around this.

> 
> 
> Stricly openLDAP related issue now : IF we can't pass this 1024 fd
> barrier, is it possible to use a forking model in that case ?? If I
> understand correctly, threads shares all ressources (and so, the 1024
> limit is for the whole set of threads) - forks, instead are real
> processes ... and don't suffer from the same problem... 
> But I doubt there is such a mecanism in openldap 2.0.7 (and I imagine it
> will complexify code a little...)
> 
> Yann Dupont.
>