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 <tpsdoo...@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
_______________________________________________ dtrace-discuss mailing list dtrace-discuss@opensolaris.org