From 8ec7d55b4e262f5b1c3502d01a0ff3c9c61a7c3d Mon Sep 17 00:00:00 2001 From: Marc Slemko Date: Fri, 11 Apr 1997 03:43:43 +0000 Subject: [PATCH] Expand the section on fd limits a bit. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@77844 13f79535-47bb-0310-9956-ffa450edef68 --- docs/manual/misc/FAQ.html | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/docs/manual/misc/FAQ.html b/docs/manual/misc/FAQ.html index c7fbe64059..03a3f1cd2e 100644 --- a/docs/manual/misc/FAQ.html +++ b/docs/manual/misc/FAQ.html @@ -8,7 +8,7 @@

Apache Server Frequently Asked Questions

-$Revision: 1.17 $ ($Date: 1997/04/11 03:36:58 $) +$Revision: 1.18 $ ($Date: 1997/04/11 03:43:43 $)

The Questions

@@ -522,7 +522,7 @@ $Revision: 1.17 $ ($Date: 1997/04/11 03:36:58 $)
  • Why can't I run more than <n> virtual hosts?

    @@ -530,30 +530,44 @@ $Revision: 1.17 $ ($Date: 1997/04/11 03:36:58 $) resource limitations. One of these is the per-process limit on file descriptors, and that's almost always the cause of problems seen when adding virtual hosts. In this - case, it is not actually Apache that's encountering the problem, but - typically some library routine (such as gethostbyname()) + case, it is often not actually Apache that's encountering the problem, but + some library routine (such as gethostbyname()) which needs file descriptors and doesn't complain intelligibly when it can't get them.

    - Each virtual host requires several file descriptors for housekeeping - functions, in addition to those actually used to serve files to - clients. + Each log file requires a file descriptor, which means that if you are + using seperate access and error logs for each virtual host each + virtual host needs two file descriptors. Each + Listen directive also needs + a file descriptor.

    Typical values for <n> that we've seen are in the neighbourhoods of 128 or 250. When the server bumps into the file descriptor limit, it may dump core with a SIGSEGV, or it might just hang, or it may limp along and you'll see (possibly meaningful) errors - in the error log. + in the error log. One common problem that occurs when you run into + a file descriptor limit is that CGI scripts stop being executed + properly at times.

    As to what you can do about this:

      +
    1. Reduce the number of Listen + directives. If there are no other servers running on the machine + and all of them are running on the same port, you normally don't + need any Listen directives at all. +
    2. Reduce the number of log files. You can use + log_mod_config to log + all requests to a single log file while including the name + of the virtual host in the log file.
    3. Increase the number of file descriptors available to the server - (see your system's documentation on the limit or - ulimit commands) + (see your system's documentation on the limit or + ulimit commands). For some systems, information on + how to do this is available in the performance + hints page.
    4. "Don't do that" - try to run with fewer virtual hosts
    5. -- 2.40.0