[Vm-dev] DTrace for Squeak?

Andreas Raab andreas.raab at gmx.de
Tue May 19 21:52:09 UTC 2009


Adrian Lienhard wrote:
> I had a few situations where this sort of logging could have saved me 
> hours (or days). One example was the problem where Squeak would suddenly 
> stop responding to web requests and hog the CPU but would get back into 
> normal mode as soon as you wiggle the mouse [1]. I could eventually find 
> the root cause by compiling a special VM with John's message tracer that 
> can be activated by sending a signal. With DTrace I could have just 
> written a simple D script and trace the production system when it got 
> into this mood.

What we do in our production environments is to hook up SIGUSR1 to a 
handler that dumps all the call stacks in the system. This has proven to 
be *the* ticket to debug everything from CPU hogging over tight GC spins 
to semaphore and Delay lockups.

> DTrace probes are said to have a very low execution overhead if they are 
> not active and hence could be added to the VM by default. Something else 
> interesting may be that DTrace provides many predefined probes for 
> system and library calls that may be useful to combine with higher-level 
> Smalltalk probes.
> 
> I just hacked a small prototype and this seems to work (Unix VM on OS X).

Did you run benchmarks with and without the probes to see what the 
impact is?

Cheers,
   - ndres


More information about the Vm-dev mailing list