From owner-freebsd-questions@FreeBSD.ORG Wed Jan 10 07:52:47 2007 Return-Path: X-Original-To: freebsd-questions@freebsd.org Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 26A7D16A47E for ; Wed, 10 Jan 2007 07:52:47 +0000 (UTC) (envelope-from pieter@degoeje.nl) Received: from smtp.utwente.nl (smtp2.utsp.utwente.nl [130.89.2.9]) by mx1.freebsd.org (Postfix) with ESMTP id A17BF13C471 for ; Wed, 10 Jan 2007 07:52:46 +0000 (UTC) (envelope-from pieter@degoeje.nl) Received: from nox.student.utwente.nl (nox.student.utwente.nl [130.89.165.91]) by smtp.utwente.nl (8.12.10/SuSE Linux 0.7) with ESMTP id l0A7qfox015286; Wed, 10 Jan 2007 08:52:41 +0100 From: Pieter de Goeje To: freebsd-questions@freebsd.org Date: Wed, 10 Jan 2007 08:52:40 +0100 User-Agent: KMail/1.9.5 References: <39ed86f90701082110i14e19b60sc3c18c060eff63c9@mail.gmail.com> In-Reply-To: <39ed86f90701082110i14e19b60sc3c18c060eff63c9@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200701100852.41045.pieter@degoeje.nl> X-UTwente-MailScanner-Information: Scanned by MailScanner. Contact helpdesk@ITBE.utwente.nl for more information. X-UTwente-MailScanner: Found to be clean X-UTwente-MailScanner-From: pieter@degoeje.nl X-Spam-Status: No Cc: Greg Albrecht Subject: Re: process states revisited X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 10 Jan 2007 07:52:47 -0000 On Tuesday 09 January 2007 06:10, Greg Albrecht wrote: > while searching for 'freebsd process states' on google i came across > this thread: > http://lists.freebsd.org/pipermail/freebsd-questions/2006-December/138024.h >tml i'm a new subscriber, so i can't reply to the original thread. > > i'm guessing fr0zen@sbcglobal.net's original question was something more > like: "that do the values in the STATE column in top mean?" here's an > example of what i'm talking about: > > ## bad 'top' formatting to come > PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU CPU > COMMAND 95698 mysql 20 0 388M 349M kserel 0 266.7H 0.63% > 0.63% mysqld 98237 jffnms 8 0 21224K 14412K nanslp 0 0:02 > 0.59% 0.59% php 98239 jffnms 96 0 22124K 15292K select 1 0:02 > 0.49% 0.49% php 98596 root 96 0 4124K 2560K CPU1 1 > 0:00 0.51% 0.05% top 1263 root 4 0 1408K 708K accept 0 > 0:07 0.00% 0.00% vsftpd 3405 galbrecht 8 0 4876K 2676K wait > 0 0:00 0.00% 0.00% bash 94414 root 4 0 3284K 1968K > sbwait 1 0:00 0.00% 0.00% mysql ## end of bad formatting > > this snippet of top shows the following values for STATE: kserel, > nanslp, select, CPU1, accept, wait, sbwait > > this thread has already cleared up these states: > nanslp: "Waiting for < 1 second." -grog@freebsd.org > select: "Waiting for a select() to complete" -grog@freebsd.org > wait: "Waiting for something to happen, possibly time limited (>= 1 > second)" -grog@fbsd > > top(1) tells us: "STATE is the current state (one of "sleep", "WAIT", > "run", "idl", "zomb", or "stop")" > > eh, not so much. > > man clears up some of these states: > sleep: "The sleep command suspends execution for a minimum of > seconds." - sleep(1) > accept: "accept a connection on a socket" - accept(2) > > i bet i can answer with: > run: process is running? > zomb: zombie process, terminated but not removed from memory > > that leaves us with: > kserel? The process is waiting for some event to occur in one of its threads. see kse(2). Please someone correct me if I'm wrong. > sbwait? "Wait for data to arrive at/drain from a socket buffer." (see sys/kern/uipc_socket2.c:363). So, it is essentially waiting for network I/O. > idl? > stop? I've never seen a process in one of these states. > > does the previous answer still apply ("ask the developers of those > programs")? The states are set in the kernel, so the (userland) program developers wouldn't be able to answer these questions. Hope this helps, Pieter