[CentOS] Help with file descriptors

Guy Boisvert boisvert.guy at videotron.ca
Wed Nov 28 22:13:59 UTC 2007


Richard Karhuse wrote:
> On Nov 28, 2007 3:55 PM, Guy Boisvert <boisvert.guy at videotron.ca> wrote:
> 
>> Garrick Staples wrote:
>>> On Wed, Nov 28, 2007 at 03:03:30PM -0500, Guy Boisvert alleged:
>>>> Hi all!
>>>>
>>>>      I have a problem with CentOS 4.4 and Communigate Pro 5.0.9.  As
>> our
>>>> user number grows, we are seeing "too many files open" error messages
>> in
>>>> Communigate logs.
>>>>
>>>>      I spoke with Communigate tech support and they asked me to
>> increase
>>>>      the number of file descriptors which i did.  I put 128000 as a
>> script i
>>>> made to check Communigate open files reported as high as 99000.    As i
>>>> checked the Communigate log file, it reported that it "sees" 1024
>>>> "available" file descriptors.
>>   :
> 
> 
> When I saw this, "ulimit -n" immediately came to mind ....
> (and is usually 1024 -- the maximun # of files that any given
> process can have open).  [See "man ulimit".]
> 
> If this runs as non-root, it won't be able to take the limit
> higher ....
> 
> Hope this helps (and is not completely off-base)....
> 
>    -rak-
> 


Hi!

I think you may have missed my other posts.  Here what i have:

root at backup ~]# ulimit -n
300000
[root at backup ~]#   cat /proc/sys/fs/file-max
300000
[root at backup ~]# grep nofile /etc/security/limits.conf
*               -       nofile          300000


(I pushed it up a lot as you can see!)

I have a script (using lsof) that runs every 10 minutes and i saw 
Communigate's file descriptors as high as 100 000.  But Communigate tech 
support guy told me that lsof gives the total used by all threads of 
Communigate, which duplicate the info and add up.  Communigate is using 
64 threads right now.

Mr. Garrick Staples kindly came with C code to check the number returned 
by the function "getdtablesize" which Communigate is supposed to use. 
CentOS 4.4 returns:

current file limit: 134513392

... and Communigate 5.0.9 gets only 1024 supposedly by using the same 
call!  This explains why i get "too many files open in this process", 
with about 40 users using MAPI Plugin under Outlook accessing a 41 Gigs 
public folder...

The tech guy told me that Outlook can open many simultaneous IP 
connections to the server, each connection eating 2 files descriptors.

I'll get the latest version of Communigate we can get with our licence 
(5.0.14) and see how it goes.  I'm very impressed by the quality of the 
information we can get out of this list!


Thanks for your input!

Guy Boisvert



More information about the CentOS mailing list