Child pages
  • About Aprof

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

In current version (build 2728):

  • Does not take into account the fact, that some memory allocation are removed by modern HotSpot VM, however it does not prevents HotSpot from allocating objects on stack.
  • Does not work on some releases of 1.6 (1.6.0_21 crashes with FATAL ERROR), but otherwise works in Java 1.5 to Java 1.7.
  • Does not fully analyze inheritance hierarhy when tracking configured method invocations. It does not intercept locations of invocations of tracked methods that are performed via a sub-type that inherits the tracked method, It does misleadingly report invocation locations of a non-tracked method that happen to go via super-type that declares a tracked method for some other implementation of this type where this method is tracked. 

Origin and Goals

Java VM has an option -Xaprof printing how many instances of classes were allocated during lifetime of the application and how much memory they occupied in total and per instance. The option has no performance impact due to the fact that counting takes place during garbage collection. The only drawbacks are occasional overflows of counters and the absence of any information on locations where the object allocations take place.

...