leaking blocked processes in vmstat ... how to debug?

Marc G. Fournier scrappy at hub.org
Mon Jun 26 11:09:39 UTC 2006


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 at hub.org                              MSN . scrappy at hub.org
Yahoo . yscrappy               Skype: hub.org        ICQ . 7615664


More information about the freebsd-stable mailing list