what is fsck's "slowdown"?

Marc G. Fournier scrappy at hub.org
Fri Sep 3 14:01:45 PDT 2004


I'm running another fsck on a 4.x system ... I know 5.x brings in the 
background mode for it, which would definitely make my life easier, *but* 
... when running fsck, it says its using up 99% of the CPU:

# ps aux | grep fsck
root    67 99.0  5.0 184252 184284  p0  R+   12:46PM 254:16.68 fsck -y /vm

now, its a dual CPU system ... on an MP system, is it not possible to have 
it parallelize on a file system, so that it makes use of all available 
CPU?

For instance, right now, its in Phase 4 ... on a file system where ctl-t 
shows:

load: 0.99  cmd: fsck 67 [running] 15192.26u 142.30s 99% 184284k
/dev/da0s1h: phase 4: cyl group 408 of 866 (47%)

wouldn't it be possible, on a dual CPU system, to have group 434 and above 
run on one process, while group 433 and below running on the second, in 
parallel?  Its not like the drives are being beat up:

# iostat 5
       tty             da0            pass0             cpu
  tin tout  KB/t tps  MB/s   KB/t tps  MB/s  us ni sy in id
    0   44  0.00   0  0.00   0.00   0  0.00  40  0  0  0 60
    0   11  0.00   0  0.00   0.00   0  0.00  50  0  0  0 50
    0    6  0.00   0  0.00   0.00   0  0.00  50  0  0  0 50
    0    6  0.00   0  0.00   0.00   0  0.00  50  0  0  0 50
    0    6  0.00   0  0.00   0.00   0  0.00  50  0  0  0 50
    0    6  0.00   0  0.00   0.00   0  0.00  50  0  0  0 50
    0    6 16.00   0  0.00   0.00   0  0.00  50  0  0  0 50
    0    6  0.00   0  0.00   0.00   0  0.00  50  0  0  0 50
    0    6  0.00   0  0.00   0.00   0  0.00  50  0  0  0 50
    0   45 16.00   0  0.01   0.00   0  0.00  50  0  0  0 50
    0    6  0.00   0  0.00   0.00   0  0.00  50  0  0  0 50
    0    6  0.00   0  0.00   0.00   0  0.00  50  0  0  0 50
    0    6 16.00   0  0.00   0.00   0  0.00  50  0  0  0 50
    0 4600 16.00   3  0.04   0.00   0  0.00  49  0  1  0 50
    0   18 16.00   0  0.01   0.00   0  0.00  50  0  0  0 50
    0   16 16.00   1  0.01   0.00   0  0.00  50  0  0  0 50

So, it looks to me like the process is CPU bound, not disk ... Or, does 
5.x's fsck already make better use of available CPUs?


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


More information about the freebsd-current mailing list