From owner-freebsd-isp@FreeBSD.ORG Mon Apr 17 14:52:23 2006 Return-Path: X-Original-To: freebsd-isp@freebsd.org Delivered-To: freebsd-isp@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 020DF16A401 for ; Mon, 17 Apr 2006 14:52:23 +0000 (UTC) (envelope-from dgilbert@daveg.ca) Received: from ox.eicat.ca (ox.eicat.ca [66.96.30.35]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6BFFD43D4C for ; Mon, 17 Apr 2006 14:52:22 +0000 (GMT) (envelope-from dgilbert@daveg.ca) Received: by ox.eicat.ca (Postfix, from userid 66) id 48C08156C1; Mon, 17 Apr 2006 10:52:21 -0400 (EDT) Received: by canoe.dclg.ca (Postfix, from userid 101) id A3F5C4AC4B; Mon, 17 Apr 2006 10:52:26 -0400 (EDT) From: David Gilbert MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <17475.43946.264571.52593@canoe.dclg.ca> Date: Mon, 17 Apr 2006 10:52:26 -0400 To: Francisco Reyes In-Reply-To: References: X-Mailer: VM 7.17 under 21.4 (patch 19) "Constant Variable" XEmacs Lucid Cc: FreeBSD ISP Subject: What machine connected to particular nfsd? X-BeenThere: freebsd-isp@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Internet Services Providers List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Apr 2006 14:52:23 -0000 >>>>> "Francisco" == Francisco Reyes writes: Francisco> I had an nfsd proces which was using up all the I/O the Francisco> machine could handle. I could kill it, but another nfsd Francisco> will again will just pickup the process. Francisco> I am basically trying to tie up the process ID from ps/top Francisco> to a particular machine connecting to that particular nfsd Francisco> daemon. Yeah. There shouldn't be any such relationship. NFSd's service the queue of independant NFS requests independantly. When we say that NFS is stateless, we mean that each NFS request is independant of other NFS requests --- and that means that there's no requirement for any NFS process to service on client's requests. The reason we run 'nfsd' and have 'nfsd' processes is that the purpose of nfsd is (in general) to put a process context into the kernel to "own" the I/O that the NFSd does... and also to schedule the work that NFSd does. With 6.x and 7.x containing threads, there's little barrier to running without nfsd (making this a true kernel service) like Solaris does. Anyways... our current NFS implementation makes one NFSd very busy and the remaining NFSd's exponentially less busy on average. In fact, you can think of the number of NFSd processes as "concurrency" in NFS I/O, not clients. So... likely, your request is already answered --- that one NFSd busy and others much less busy is a normal state of a running system... but just in case: Francisco> My guess is that a program was having problems and was Francisco> doing lots of transactions... at the client.. problem is Francisco> that I don't know which client machine. Francisco> I tried tcpdump, but that pretty much showed me all the nfs Francisco> clients. :-( Francisco> Anyone else with NFS servers have had to deal with a rogue Francisco> client? In particular finding out which client it is. trafshow will more quickly give you a handle on the traffic per client. Dave. -- ============================================================================ |David Gilbert, Independent Contractor. | Two things can be | |Mail: dave@daveg.ca | equal if and only if they | |http://daveg.ca | are precisely opposite. | =========================================================GLO================