Date: Tue, 16 Nov 2010 13:55:57 +0100 From: Alexander Leidinger <Alexander@Leidinger.net> To: Christer Solskogen <christer.solskogen@gmail.com> Cc: freebsd-stable@freebsd.org, Ivan Voras <ivoras@freebsd.org> Subject: Re: "High" cpu usage when using ZFS cache device Message-ID: <20101116135557.66601irt6kd1gndw@webmail.leidinger.net> In-Reply-To: <AANLkTi=tJ-Hf%2BrMqG0=tEzNV2jJW-B_7Yu_ftW4tAMqT@mail.gmail.com> References: <AANLkTinzwyhABYxzWknzRFzLCbcDSd3BU2kQ5tX_SSk-@mail.gmail.com> <20101116003029.GC79816@numachi.com> <AANLkTinfTgXzf7t3PtO2VAef7NSkKWc0RnGdpv=6_-Vj@mail.gmail.com> <ibtqvp$bfq$1@dough.gmane.org> <AANLkTi=tJ-Hf%2BrMqG0=tEzNV2jJW-B_7Yu_ftW4tAMqT@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Quoting Christer Solskogen <christer.solskogen@gmail.com> (from Tue, 16 Nov 2010 13:15:32 +0100): > On Tue, Nov 16, 2010 at 12:47 PM, Ivan Voras <ivoras@freebsd.org> wrote: > >> You can easily test it - use the stick as a simple disk device with UFS and >> see how much CPU does it take simply to talk to the device. > > See, that is why I think it is a ZFS issue. Because I did that. > I created a UFS filesystem on the same usb stick. Mounted it and did a > "dd if=/dev/zero of=/mnt/file". > The systemload goes +0.6 instead if +10.3. > > See: > CPU: 0.0% user, 0.0% nice, 0.6% system, 0.0% interrupt, 99.3% idle > Mem: 832M Active, 960M Inact, 7017M Wired, 2600K Cache, 1237M Buf, 3063M Free > Swap: 8192M Total, 8192M Free > > PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND > 38261 root 1 46 0 5776K 1112K wdrain 7 0:07 4.98% dd > > But when using it as cache device for zfs: > > CPU: 0.0% user, 0.0% nice, 11.9% system, 0.0% interrupt, 88.1% idle > Mem: 832M Active, 193M Inact, 5782M Wired, 2592K Cache, 1237M Buf, 5066M Free > Swap: 8192M Total, 8192M Free > > The funny thing is that when I add the device (and some cache is added > to it) the load is normal. But the load goes up when nothing is > written to it (or beeing read from it) How do you measure that nothing is read or written to it? Please check with gstat -f '^<DEVICE>$' if there are really no reads/writes to the device (please replace <DEVICE> with the name of your USB device, e.g. da0). If you see writes, I would say - this is the reason for the load - your cache is on the way to be filled with useful data If gstat shows zero activity, I suggest to run 'top -S' and look at the process(es) which consume about 10% CPU (do not take care about the idle process). Based upon this we can maybe suggest further things to investigate. Bye, Alexander. -- Is a tattoo real, like a curb or a battleship? Or are we suffering in Safeway? http://www.Leidinger.net Alexander @ Leidinger.net: PGP ID = B0063FE7 http://www.FreeBSD.org netchild @ FreeBSD.org : PGP ID = 72077137
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20101116135557.66601irt6kd1gndw>