Interesting problem.  I've used disk rattle as a measurement of io 
activity before
there were such tools for measurement.  It's crude, but effective.

To answer your question: you could try er_kernel.  It uses DTrace to
do statistical callstack sampling, and is described on our  kernel 
profiling page <http://dpweb.sfbay/products/analyzer/kernel.html>.
That page is woefully out of date, but is basically correct w.r.t usage.
We test it on Nevada and S10, and S9.

Roch Bourbonnais (PAE), who did most of the development, used it to track
down the root cause of a similar-sounding problem in VxFS.  See the slides
towards the end of the presentation on Kernel Profiling 
<http://dpweb.sfbay/products/analyzer/kprof.pdf> dated June, 2002.

The best version to use on a late snv is the one from our nightly-build 
<http://dpweb.sfbay/products/analyzer/access.html#nightly>

If you have any problems, please contact Roch and/or me;
if you give it a try, please report your experience back to our interest
alias,  [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> .

    Marty

    Bill Shannon wrote:
> I recently converted my home directory to zfs on an external disk drive.
> Approximately every three seconds I can hear the disk being accessed,
> even if I'm doing nothing.  The noise is driving me crazy!
>
> I tried using dtrace to find out what process might be accessing the
> disk.  I used the iosnoop program from the dtrace toolkit.  No matter
> what I do, iosnoop doesn't report any accesses to the disk.  Is it
> broken?  Is it a limitation of zfs?  Am I doing something wrong?
>
> Running just plain "iosnoop" shows accesses to lots of files, but none
> on my zfs disk.  Using "iosnoop -d c1t1d0" or "iosnoop -m 
> /export/home/shannon"
> shows nothing at all.  I tried /usr/demo/dtrace/iosnoop.d too, still nothing.
>
> Meanwhile, "zpool iostat 5" shows the disk being accessed.  Glenn Skinner
> told me about the parameter zfs:spa_max_replication_override.  Setting it
> to 1 is supposed to disable ditto blocks in zfs.  Here's what I get when
> I set it to 1:
>
> $ zpool iostat 5
>                 capacity     operations    bandwidth
> pool         used  avail   read  write   read  write
> ----------  -----  -----  -----  -----  -----  -----
> home        12.4G  4.55G      0      2  11.7K  41.1K
> home        12.4G  4.55G      0      6      0   133K
> home        12.4G  4.55G      0      6      0   162K
> home        12.4G  4.55G      0      0      0      0
> home        12.4G  4.55G      0      0      0      0
> home        12.4G  4.55G      0      0      0      0
> home        12.4G  4.55G      0      7      0   144K
> home        12.4G  4.55G      0      6      0   153K
> home        12.4G  4.55G      0      6      0   139K
> home        12.4G  4.55G      0      6      0   132K
> home        12.4G  4.55G      0      6      0   144K
> home        12.4G  4.55G      0      6      0   135K
> home        12.4G  4.55G      0     12      0   186K
> home        12.4G  4.55G      0      0      0      0
> home        12.4G  4.55G      0     13      0   265K
> home        12.4G  4.55G      0      0      0      0
> home        12.4G  4.55G      0      0      0      0
> home        12.4G  4.55G      0      0      0      0
>
> Setting it back to its original value of 3 while still running gives:
>
> home        12.4G  4.55G      0     12      0   185K
> home        12.4G  4.55G      0     12      0   258K
> home        12.4G  4.55G      0     11      0   188K
> home        12.4G  4.55G      0     11      0   175K
> home        12.4G  4.55G      0     11      0   184K
> home        12.4G  4.55G      0     12      0   180K
>
> That seems to be related to my problem, but it doesn't seem to be the
> whole problem.
>
> Curiously, when I came in to my office this morning, I didn't hear my
> disk making noise.  It wasn't until after I unlocked the screen that
> the noise started, which makes my think it must be something related
> to my desktop.
>
> If I check the I/O activity now, logged in remotely with my screen
> locked, I get:
>
> $ zpool iostat 5
>                 capacity     operations    bandwidth
> pool         used  avail   read  write   read  write
> ----------  -----  -----  -----  -----  -----  -----
> home        12.4G  4.55G      0      2  10.9K  39.6K
> home        12.4G  4.55G      0     11      0   171K
> home        12.4G  4.55G      0      0      0      0
> home        12.4G  4.55G      0     10      0   149K
> home        12.4G  4.55G      0      0      0      0
> home        12.4G  4.55G      0      0      0      0
> home        12.4G  4.55G      0      0      0      0
> home        12.4G  4.55G      0      0      0      0
> home        12.4G  4.55G      0      0      0      0
> home        12.4G  4.55G      0      0      0      0
> home        12.4G  4.55G      0      0      0      0
> home        12.4G  4.55G      0      0      0      0
> home        12.4G  4.55G      0     11      0   146K
> home        12.4G  4.55G      0     12      0   186K
>
> Much less activity, but still not zero.
>
> Anyway, anyone have any ideas of how I can use dtrace or some other tool
> to track this down?  Any chance that there's something about zfs that is
> causing this problem?  Is there something about zfs that prevents dtrace
> from working properly?
>
> Oh ya, I'm running snv_79b on SPARC.
>
> Thanks.
> _______________________________________________
> dtrace-discuss mailing list
> [EMAIL PROTECTED]
>   

_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to