My ultimate goal was to not deviate from a "standard" configuration. I wanted the person who replaced me (I guess I knew from the beginning that I wasn't going to stay there long) to be able to pick up a Red Hat book and see that our systems were basically the same, with some enhancements. The fewer the differences, the better. George Kevin Buettner wrote: > > On Jan 8, 8:21pm, George Toft wrote: > > > > For your application, it sounds to me like you need to increase your > > > per-process open file limit. (You may need to increase the overall > > > system limit too.) I notice that as root, I'm able to do > > > ``ulimit -n 2048'' and then ``ulimit -a'' actually shows that the limit > > > has been increased. > > > > But if you exit that shell and open another, you will find your change > > is gone - ulimit only affects the current and child shells. > > True. This means that you either need to change this ulimit value > on a global scale or else find a way to change it in the shell that > invokes apache. > > On a Red Hat like system, you may want to take a look at the > invocation of ulimit in /etc/rc.d/init.d/functions. I haven't tried > it, but I think if you change the ulimit command at this point to have > a "-n 2048" (or some such) argument, you'll effectively change the > ulimit for most of the processes on the system. > > Of course, there's likely a more subtle way of doing this too. > > > > I've done some tests (using calls to pipe()) and have determined that > > > I'm able to create more than 1024 open files when I do this. However, > > > it seems to me that not all functions implemented by glibc will > > > support more than 1024 files. In particular, the select() function > > > relies on the fd_set data structure to know which file descriptors to > > > wait for. It appears to me that you can't use this function for file > > > descriptor numbers past 1023. In /usr/include/bits/types.h (which is > > > included by /usr/include/sys/types.h), I see the following: > > > > > > /* Number of descriptors that can fit in an `fd_set'. */ > > > #define __FD_SETSIZE 1024 > > > > > > I think you're okay if your application uses poll() instead of > > > select() though. > > > > I'm not into rewriting Apache :) > > Hmmm... I just took a look at the Apache source and am quite surprised > to see that it doesn't contain any code to use poll() for those systems > which support it. I would've thought that this would be at least > be a configuration option. > > The other approach that you could take is to rebuild glibc with a > different __FD_SETSIZE value. Then rebuild Apache with the new header > files and linked against your rebuilt glibc... > > (Yes, this would be a bit of work too.) > > Kevin > > ________________________________________________ > See http://PLUG.phoenix.az.us/navigator-mail.shtml if your mail doesn't post to the list quickly and you use Netscape to write mail. > > Plug-discuss mailing list - Plug-discuss@lists.PLUG.phoenix.az.us > http://lists.PLUG.phoenix.az.us/mailman/listinfo/plug-discuss