[erlang-questions] How to understand busyness of driver job queue?

Scott Lystig Fritchie fritchie@REDACTED
Wed Mar 13 17:54:39 CET 2013


Max Lapshin <max.lapshin@REDACTED> wrote:

ml> So, I need to run dtrace on live system?

I've never had a problem with running DTrace on a live system.  Even
many tens of thousands of events per second don't make a big impact on
performance.  If you enable a probe that fires millions of times per
second, then you can create a speed/latency problem ... but still not
enough to cripple a system or cause it to panic.

If you're really paranoid about creating overload, you can use a D
script to do something like this in order to stop itself:

    tick-5sec { exit(0); }

ml> I've found that if I increase +A from 16 to 160, system starts
ml> working excelently.

Sounds like you were indeed having a serialization problem on one or
more of those 16 threads.  It's worth noting that the mapping of
operations to that pool is *not* based on first-available thread.  If
two files are frequently accessed, and the path of both maps to the same
async Pthread, they will (by definition) content for the same async
Pthread even when other async Pthreads are idle.

-Scott



More information about the erlang-questions mailing list