sysctl -a is slow

Alexander Best arundel at freebsd.org
Mon Oct 18 22:56:14 UTC 2010


On Mon Sep 20 10, Alexander Best wrote:
> On Sun Sep 19 10, David Xu wrote:
> > just typed sysctl -a on keyboard, and found it is slow, sometimes
> > it has been stuck for a few seconds, further studied,I found it is
> > stucked at sysctl kern.geom:
> > 
> > %/usr/bin/time sysctl -a kern.geom
> > kern.geom.collectstats: 1
> > kern.geom.debugflags: 0
> > kern.geom.label.debug: 0
> > kern.geom.label.ext2fs.enable: 1
> > kern.geom.label.iso9660.enable: 1
> > kern.geom.label.msdosfs.enable: 1
> > kern.geom.label.ntfs.enable: 1
> > kern.geom.label.reiserfs.enable: 1
> > kern.geom.label.ufs.enable: 1
> > kern.geom.label.ufsid.enable: 1
> > kern.geom.label.gptid.enable: 1
> > kern.geom.label.gpt.enable: 1
> >        2.01 real         0.00 user         0.00 sys
> > 
> > it seems it needs more than 2 seconds to complete.
> 
> have you had a look at the bug database? just noticed a few sysctl reports
> there which describe issues similar to yours.

these are the results from the following script:

#!/bin/sh
TESTS="kern vm vfs net debug hw user p1003_1b compat security dev"
for i in $TESTS; do echo $i:; time sysctl $i > /dev/null; done


kern:
        0,09 real         0,00 user         0,07 sys
vm:
        0,05 real         0,00 user         0,05 sys
vfs:
        0,00 real         0,00 user         0,00 sys
net:
        0,01 real         0,01 user         0,00 sys
debug:
        0,36 real         0,00 user         0,35 sys
hw:
        0,01 real         0,00 user         0,00 sys
user:
        0,00 real         0,00 user         0,00 sys
p1003_1b:
        0,00 real         0,00 user         0,00 sys
compat:
        0,00 real         0,00 user         0,00 sys
security:
        0,00 real         0,00 user         0,00 sys
dev:
        0,04 real         0,00 user         0,04 sys


...that's on a very recent HEAD.

cheers.
alex

ps: debug.witness.fullgraph is producing quite a lot of output. also
debug.witness.badstacks. i think most of cpu time can be blamed on those two
options.

also:

otaku% /usr/bin/time sysctl -a kern.geom
kern.geom.debugflags: 0
kern.geom.collectstats: 1
kern.geom.label.debug: 0
kern.geom.label.ext2fs.enable: 1
kern.geom.label.iso9660.enable: 1
kern.geom.label.msdosfs.enable: 1
kern.geom.label.ntfs.enable: 1
kern.geom.label.reiserfs.enable: 1
kern.geom.label.ufsid.enable: 1
kern.geom.label.ufs.enable: 1
kern.geom.label.gpt.enable: 1
kern.geom.label.gptid.enable: 1
        0,01 real         0,00 user         0,00 sys

however i ran the test app from PR 134231 and 8.1-PRELEASE (freefall) performed
far worse than 7.3-STABLE (hub).

8.1 (freefall):
0.037u 28.304s 0:28.35 99.9%	5+175k 0+0io 0pf+0w

7.3 (hub):
0.007u 8.991s 0:08.99 100.0%	5+175k 0+0io 0pf+0w

> 
> #134231 e.g.
> 
> cheers.
> alex
> 
> > 
> 
> -- 
> a13x

-- 
a13x


More information about the freebsd-current mailing list