<div dir="ltr">regarding the possibility of multi-processor shifting and counters, it seems like that would be fairly easy to rule out (however unlikely) by running pbind on the iostat process to keep it pegged to a specific core.<br>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Dec 13, 2013 at 10:38 AM, Richard Elling <span dir="ltr"><<a href="mailto:richard.elling@richardelling.com" target="_blank">richard.elling@richardelling.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On Dec 13, 2013, at 5:13 AM, Tobias Oetiker <<a href="mailto:tobi@oetiker.ch">tobi@oetiker.ch</a>> wrote:<br>

<br>
> Hi Paul,<br>
><br>
> Today Paul Jochum wrote:<br>
><br>
>> Hi Tobias:<br>
>><br>
>>     Sorry, I don't know why you are having these strang io-patterns, but I was wondering if you could share how you<br>
>> record and display this info?<br>
><br>
> I created a little plugin for collectd to interface with iostat. I<br>
> guess having one for vfsstat and arcstat along the same lines would<br>
> give a better picture as to what users actually experience but this<br>
> one gives some impression as to what happens deep down.<br>
<br>
</div>Your script seems to break this out per-device, but that isn’t clear from<br>
the graphs you posted. This pattern is consistent with a misbehaving device.<br>
 — richard<br>
<div><div class="h5"><br>
><br>
> #!/usr/bin/perl<br>
> my $filter = $ARGV[0] || '.+';<br>
><br>
> my $pid = open my $iostat, "-|", "/usr/bin/iostat","-Tu","-xnr",int($ENV{COLLECTD_INTERVAL}) or die "launching iostat: $!";<br>
><br>
> $SIG{PIPE} = 'ignore';<br>
> $SIG{CHLD} = 'ignore';<br>
> $SIG{TERM} = sub {<br>
>   kill 9,$pid;<br>
>   exit 1;<br>
> };<br>
><br>
> my %data;<br>
> my @cols;<br>
> my $round = 0;<br>
> while (<$iostat>){<br>
>    chomp;<br>
>    my @input = split /,/;<br>
>    if ($#input == 0 and $input[0] =~ /^\d+$/){<br>
>        publish() if $round++ > 1;<br>
>        %data = ();<br>
>        next;<br>
>    }<br>
>    if ($input[-1] eq 'device'){<br>
>        @cols = @input;<br>
>        pop @cols;<br>
>        next;<br>
>    }<br>
>    if ($#input == $#cols+1){<br>
>        my $dev = pop @input;<br>
>        my %row;<br>
>        @row{@cols} = @input;<br>
>        $data{$dev} = \%row;<br>
>    };<br>
> }<br>
><br>
> sub publish {<br>
>    $|=0;<br>
>    my $time = time();<br>
>    for my $dev (sort keys %data){<br>
>        next unless $dev =~ /^${filter}$/;<br>
>        my $d = $data{$dev};<br>
>        my $prefix = "PUTVAL $ENV{COLLECTD_HOSTNAME}/sol_iostat-$dev/sol_iostat_";<br>
>        print $prefix."op $time:$d->{'r/s'}:$d->{'w/s'}\n";<br>
>        print $prefix."byte $time:".($d->{'kr/s'}*1024).":".($d->{'kw/s'}*1024)."\n";<br>
>        print $prefix."busypct $time:$d->{'%w'}:$d->{'%b'}\n";<br>
>        print $prefix."wait $time:$d->{wait}\n";<br>
>        print $prefix."actv $time:$d->{actv}\n";<br>
>        print $prefix."wsvc_t $time:".($d->{wsvc_t}/1000)."\n";<br>
>        print $prefix."asvc_t $time:".($d->{asvc_t}/1000)."\n";<br>
>    }<br>
> }<br>
><br>
> ---------<br>
> adding these new types to the types.db<br>
><br>
> sol_iostat_op       read:GAUGE:0:U, write:GAUGE:0:U<br>
> sol_iostat_byte     read:GAUGE:0:U, write:GAUGE:0:U<br>
> sol_iostat_busypct  queue:GAUGE:0:100, disk:GAUGE:0:100<br>
> sol_iostat_wait     count:GAUGE:0:U<br>
> sol_iostat_actv     count:GAUGE:0:U<br>
> sol_iostat_wsvc_t   second:GAUGE:0:U<br>
> sol_iostat_asvc_t   second:GAUGE:0:U<br>
><br>
> cheers<br>
> tobi<br>
><br>
> --<br>
> Tobi Oetiker, OETIKER+PARTNER AG, Aarweg 15 CH-4600 Olten, Switzerland<br>
</div></div>> <a href="http://it.oetiker.ch" target="_blank">http://it.oetiker.ch</a> <a href="mailto:tobi@oetiker.ch">tobi@oetiker.ch</a> <a href="tel:%2B%2B41%2062%20775%209902" value="+41627759902">++41 62 775 9902</a> / sb: -9900_______________________________________________<br>

<div class="HOEnZb"><div class="h5">> OmniOS-discuss mailing list<br>
> <a href="mailto:OmniOS-discuss@lists.omniti.com">OmniOS-discuss@lists.omniti.com</a><br>
> <a href="http://lists.omniti.com/mailman/listinfo/omnios-discuss" target="_blank">http://lists.omniti.com/mailman/listinfo/omnios-discuss</a><br>
<br>
_______________________________________________<br>
OmniOS-discuss mailing list<br>
<a href="mailto:OmniOS-discuss@lists.omniti.com">OmniOS-discuss@lists.omniti.com</a><br>
<a href="http://lists.omniti.com/mailman/listinfo/omnios-discuss" target="_blank">http://lists.omniti.com/mailman/listinfo/omnios-discuss</a><br>
</div></div></blockquote></div><br></div>