[prev in list] [next in list] [prev in thread] [next in thread]
List: opensolaris-dtrace-discuss
Subject: Re: [dtrace-discuss] iotop and dynamic variable drops
From: "Brendan Gregg" <brendan.gregg () joyent ! com>
Date: 2011-02-28 21:06:42
Message-ID: AANLkTimkrjssMCn9f=3bP7DMta+Meeo4DsG8XYGK9Cxa () mail ! gmail ! com
[Download RAW message or body]
--===============1857606659==
Content-Transfer-Encoding: 7bit
Content-Class: urn:content-classes:message
Content-Type: multipart/alternative;
boundary="20cf3054a0377c8c74049d5e0ed4"
This is a multi-part message in MIME format.
G'Day Tony,
Sorry about the dynvardrops; there are at least a couple of things you can
try.
1) increasing dynvarsize; this is commented in the script itself:
201 /* boost the following if you get "dynamic variable drops" */
202 #pragma D option dynvarsize=8m
That's 8 Mbytes. You could try 16 Mbytes.
2) reworking the associative array key. From the script:
253 this->dev = args[0]->b_edev;
254 this->blk = args[0]->b_blkno;
255
256 /* save disk event details, */
257 start_uid[this->dev, this->blk] = uid;
I'm using both device number and block number as a 2-key unique ID. I'd
suspect that a 1-key ID would be less expensive, such as by replacing
"this->dev, this->blk" with just "arg0" throughout the script. The downside
is that this is not stable - it may work on Solaris and Mac OS X today, but
not in the future. arg0 is actually a "struct buf *", which as an address
is unique and is a handy 1-key ID, but isn't part of the stable io provider
interface (it's using implementation details from pre-translation).
If you still have issues with drops due to high load, I'd write a much
shorter script to answer the specific question.
Brendan
On Thu, Feb 24, 2011 at 9:06 AM, Tony MacDoodle <tpsdoodle@gmail.com> wrote:
> Hello,
>
> How do I eliminate the following when running iotop dtrace script:
>
> dynamic variable drops
> dynamic variable drops
> dynamic variable drops
>
> Thanks Mike
>
> _______________________________________________
> dtrace-discuss mailing list
> dtrace-discuss@opensolaris.org
>
--
http://dtrace.org/blogs/brendan
[Attachment #3 (text/html)]
G'Day Tony,<div><br></div><div>Sorry about the dynvardrops; there are at least a \
couple of things you can try.</div><div><br></div><div>1) increasing dynvarsize; this \
is commented in the script itself:</div><div><br></div>
<div><div> 201 /* boost the following if you get "dynamic variable \
drops" */</div><div> 202 #pragma D option \
dynvarsize=8m</div><div><br></div><div>That's 8 Mbytes. You could try 16 \
Mbytes.</div><div>
<br></div><div>2) reworking the associative array key. From the \
script:</div><div><br></div><div><div> 253 this->dev = \
args[0]->b_edev;</div><div> 254 this->blk = \
args[0]->b_blkno;</div>
<div> 255 </div><div> 256 /* save disk event details, */</div><div> \
257 start_uid[this->dev, this->blk] = \
uid;</div></div><div><br></div><div>I'm using both device number and block number \
as a 2-key unique ID. I'd suspect that a 1-key ID would be less expensive, such \
as by replacing "this->dev, this->blk" with just "arg0" \
throughout the script. The downside is that this is not stable - it may work on \
Solaris and Mac OS X today, but not in the future. arg0 is actually a "struct \
buf *", which as an address is unique and is a handy 1-key ID, but isn't \
part of the stable io provider interface (it's using implementation details from \
pre-translation).</div>
<div><br></div><div>If you still have issues with drops due to high load, I'd \
write a much shorter script to answer the specific \
question.</div><div><br></div><div>Brendan</div><div><br></div><br><div \
class="gmail_quote">
On Thu, Feb 24, 2011 at 9:06 AM, Tony MacDoodle <span dir="ltr"><<a \
href="mailto:tpsdoodle@gmail.com" target="_blank">tpsdoodle@gmail.com</a>></span> \
wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px \
#ccc solid;padding-left:1ex">
<div>Hello,</div>
<div> </div>
<div>How do I eliminate the following when running iotop dtrace script:</div>
<div> </div>
<div>dynamic variable drops</div>
<div>dynamic variable drops</div>
<div>dynamic variable drops</div>
<div> </div>
<div>Thanks Mike</div>
<br>_______________________________________________<br>
dtrace-discuss mailing list<br>
<a href="mailto:dtrace-discuss@opensolaris.org" \
target="_blank">dtrace-discuss@opensolaris.org</a><br></blockquote></div><br><br \
clear="all"><br>-- <br><a href="http://dtrace.org/blogs/brendan" \
target="_blank">http://dtrace.org/blogs/brendan</a><br>
</div>
_______________________________________________
dtrace-discuss mailing list
dtrace-discuss@opensolaris.org
--===============1857606659==--
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic