Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 26 Jun 2006 08:09:23 -0300 (ADT)
From:      "Marc G. Fournier" <scrappy@hub.org>
To:        freebsd-stable@freebsd.org
Subject:   leaking blocked processes in vmstat ... how to debug?
Message-ID:  <20060626080344.X1114@ganymede.hub.org>

next in thread | raw e-mail | index | archive | help

k, this is getting ridiculous ... I'm going to upgrade my kernel to 
something a bit newer then May 25th, which may (or may not) fix it, but:

  0 28 0 8015508 175352   53   3   4   2 584   0  90   0  471 2299 1210  6  8 86
  0 28 0 8016704 174416   82   0   0   0  77   0  36   0  350 2191 1155  8  6 86
  1 28 0 8016772 167640   84   1   7   0  71   0  63   0  455 3119 1299 31  8 61
  0 28 0 8014456 166416   95   0   1   0 123   0  50   0  480 3463 1733 19  8 73

28 blocked processes, according to the above, but according to ps, this is 
all that is blocked, and the system ones seem to be the exact same ones 
blocked on another system with only '6 blocked', and another with only '3 
blocked', so I'm guessing those ones *aren't* counted in vmstat:

# ps ax -O ppid,flags,mwchan | awk '$6 ~ /^D/ || $6 == "STAT"'
   PID  PPID       F MWCHAN  TT  STAT      TIME COMMAND
     2     0     204 -       ??  DL     0:03.20 [g_event]
     3     0     204 -       ??  DL     0:29.32 [g_up]
     4     0     204 -       ??  DL     0:40.29 [g_down]
     5     0     204 -       ??  DL     0:00.00 [thread taskq]
     6     0     204 -       ??  DL     0:00.00 [kqueue taskq]
     7     0     204 -       ??  DL     0:00.00 [acpi_task0]
     8     0     204 -       ??  DL     0:00.00 [acpi_task1]
     9     0     204 -       ??  DL     0:00.00 [acpi_task2]
    10     0     204 ktrace  ??  DL     0:00.00 [ktrace]
    15     0     204 -       ??  DL     0:03.29 [yarrow]
    25     0     204 psleep  ??  DL     0:13.55 [pagedaemon]
    26     0     204 psleep  ??  DL     0:00.00 [vmdaemon]
    27     0     20c pgzero  ??  DL     0:53.21 [pagezero]
    28     0     204 psleep  ??  DL     0:00.81 [bufdaemon]
    29     0     204 vlruwt  ??  DL     0:03.90 [vnlru]
    30     0     204 syncer  ??  DL     0:59.74 [syncer]
    31     0     204 sdflus  ??  DL     0:02.90 [softdepflush]
    36     0     204 -       ??  DL     0:26.21 [schedcpu]
  8803  8724    4002 biord   p6  D+     0:10.28 cvsup -L 1 -g /root/src

So, where are the 28 blocked processes?  And its climbing ... I have a 
'vmstat 5' running right now, and its up to 30, but same process listing 
(minus the cvsup this time) ... leakage somewhere?  Is there any way to 
debug this?

----
Marc G. Fournier           Hub.Org Networking Services (http://www.hub.org)
Email . scrappy@hub.org                              MSN . scrappy@hub.org
Yahoo . yscrappy               Skype: hub.org        ICQ . 7615664



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060626080344.X1114>