Where did all the FDs go? [v1.1.24]

From: James Zhu <jzhu@dont-contact.us>
Date: Wed, 09 Sep 1998 15:20:40 -0700

Hi, I have a very basic and probably stupid question:

I am running squidv1.1beta24 on two Linux boxes -- one parent and one
child via a high latency link. I'd like to see them using persistent
connections between them. pconnPush() has this following check:

if (fdNFree() < RESERVED_FD << 2) {
       debug(48, 3) ("pconnPush: Not many unused FDs\n");
       comm_close(fd);
       return;
}

RESERVED_FD is defined to be MaxFD / 4. MaxFD is 256 on linux. The
above statement is always true. No Connection is ever saved and reused
on a box running stock linux kernel. Since my squid box does not have
much load on it at all. I thought 256 file discriptors should be plenty.
So I made it to compare with RESERVED_FD << 1 (128) instead, and added
following line before the comparison:

debug(17, 3) ("pconnPush: fdNFree = %d, RESERVED_FD << 1 = %d\n",
fdNFree(), (RESERVED_FD << 1));

Running squid with this change, I noticed the fdNFree value keep
dropping over time and eventually it is smaller then 128. Where did all
the FDs go? Please help!

thanks

-jaz
Received on Wed Sep 09 1998 - 15:27:42 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:41:54 MST