Aprof
Child pages
  • About Aprof

Versions Compared

Key

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

Aprof is a Java memory allocation profiler with very low performance impact on the profiled application that can be used (and is used) on highly-loaded server-side applications in production environment. It acts as an agent which transforms class bytecode by inserting counter increments wherever memory allocation is done and tracks a precise size of allocated objects in bytes. It also keeps limited information about allocation context to aid in finding the memory allocation bottlenecks. 

Download

Download binaries of the latest release here:

https://bintray.com/devexperts/Maven/aprof/_latestVersion 

Using aprof

Download the latest version of aprof distribution, unzip, copy "aprof.jar" to your application's directory and run application with an additional JVM argument:

...

In current version (build 2829):

  • 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.78.
  • Does not fully analyze inheritance hierarchy 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. 

...