From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 In-Reply-To: <8FB7CBFD-7334-4F9F-8C71-571DEF9FAD31@ar.aichi-u.ac.jp> References: <8FB7CBFD-7334-4F9F-8C71-571DEF9FAD31@ar.aichi-u.ac.jp> Date: Tue, 16 Feb 2016 22:24:08 +0000 Message-ID: From: Charles Forsyth To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: multipart/alternative; boundary=001a11469c6288066f052bea9704 Subject: Re: [9fans] file descriptor leak Topicbox-Message-UUID: 8548e718-ead9-11e9-9d60-3106f5b1d025 --001a11469c6288066f052bea9704 Content-Type: text/plain; charset=UTF-8 On 16 February 2016 at 15:52, arisawa wrote: > > I have observed warning messages from dns server: > dns 30792: warning process exceeded 100 file descriptors > dns 30888: warning process exceeded 200 file descriptors > It's worth noting that this message doesn't necessarily mean you've got a file descriptor leak. It might, but at the start it just means that a process (or process group sharing a file descriptor group) has many file descriptors open. That could happen if a server with many clients has a file descriptor per client and then client requests open some more. ndb/dns in particular will try user-level requests in parallel, and those in turn can lead to several concurrent queries to various name servers at a given level (root itself has 13). Web browser clients will fetch page elements concurrently. That's why it's useful to check the /proc/N/fd file to try to see what they are. (Not just for ndb/dns, but for other applications that provoke the message.) Arguably, if you're using the system in a real, Internet-facing application, the warning message might be obsolete, compared to the time when even 100 clients was a big network. --001a11469c6288066f052bea9704 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

= On 16 February 2016 at 15:52, arisawa <arisawa@ar.aichi-u.ac.jp= > wrote:

I have observed warning messages from dns server:
dns 30792: warning process exceeded 100 file descriptors
dns 30888: warning process exceeded 200 file descriptors

It's worth noting that this message doesn't necessarily mea= n you've got a file descriptor leak.
It= might, but at the start it just means that a process (or process group sha= ring a file descriptor group) has many file descriptors open.
That could happen if a server with many clients has a fi= le descriptor per client and then client requests open some more.

ndb/dns in part= icular will try user-level requests in parallel, and those in turn can lead= to several concurrent
queries to various n= ame servers at a given level (root itself has 13). Web browser clients will= fetch page
elements concurrently. That'= ;s why it's useful to check the /proc/N/fd file to try to see what they= are.
(Not just for ndb/dns, but for other = applications that provoke the message.)
Arg= uably, if you're using the system in a real, Internet-facing applicatio= n, the warning message might
be obsolete, c= ompared to the time when even 100 clients was a big network.
--001a11469c6288066f052bea9704--