[Date Prev][Date Next]
Re: Solaris 32bit File Descriptor Limit (ITS#2636)
Some more information.
I can reproduce the problem fairly easily in my lab. I just telnet to the
port (255 times), background the processes, and then try a real ldap
operation (ldapsearch, modify, etc) and I get LDAP_SERVER_DOWN returned.
During this time, lsof or pfiles shows 256 descriptors in use. I've tried
ulimit, plimit, and all of the /etc/system settings to no avail.
I found this thread
regarding OpenLDAP 2.0.11 and it appears to be the same issue. I found the
post about fsio intriguing and I may attempt to compile the 32bit version
with these libraries instead of Sun's. Has anyone tried this, since?
"For a 32-bit application, a stdio library FILE structure represents the
underlying file descriptor as an unsigned char, limiting the range of fds
which can be opened as FILE's to 0-255 inclusive. A common, known problem is
that when the 32-bit stdio is used for a large server application, the 255
limit is frequently exceeded. Although this limitation does not exist for
64-bit applications, this problem will always remain for 32-bit
Sun also suggests using open() instead of fopen() ... would a fix of this
nature be possible for OpenLDAP?
I've got a valid OpenLDAP 2.1.16 64bit build working and I'm testing it,
now. I expect this will be my final resolution, but until then I will
reserve further comments and settle for yet another question. Who else is
using 64bit OpenLDAP on Solaris 2.8 and what are your experiences, good/bad?
----- Original Message -----
Sent: Tuesday, July 08, 2003 11:32 AM
Subject: Solaris 32bit File Descriptor Limit (ITS#2636)
> Full_Name: Joseph Tingiris
> Version: 2.1.16
> OS: Solaris 8
> URL: ftp://ftp.openldap.org/incoming/
> Submission from: (NULL) (126.96.36.199)
> Under high load, I get the following log message:
> Jul 6 23:49:34 lakeldap01 slapd: [ID 759906 local5.debug] daemon:
> beyond descriptor table size 256
> I've experienced this with Apache and understand that it is a 32bit limit
> descriptors. Again, 32bit Apache has a workaround for this that allows
> connection table to use non-file type descriptors.
> Does anyone know of a simple workaround for this, other than going to a
> compiled version?