Quanah Gibson-Mount wrote:
After some users reported that slapd had changed size enormously between two zimbra releases, I spent some time tracking down why. Apparently, at least on linux, the startup size of slapd is directly related to the number of file descriptors it can access.
For example, with 1024 file descriptors, slapd was 18MB resident and around 100MB virtual in size. With some 550,000 file descriptors, slapd was 500MB+ virtual and 327MB resident. This seems a bit odd. Is this simply a "feature" of epoll() (I'm on a Linux 2.6 kernel)?
No, this is not OS dependent at all. slapd allocates its own Connection array based on the number of available descriptors. There's nothing unusual going on here, though 500K+ descriptors seems a bit excessive. Unless you have a server listening on multiple network interfaces, the most connections you're likely to get is 32768 or shy of 65536, depending on OS. You should really think about what you're trying to accomplish and what the realistic constraints actually are.