Read This Before You Begin

Here are some of the common terms and basic concepts regarding the Performance Analytics applications.

Automatic Workload Repository (AWR), part of an Oracle database, collects, processes, and maintains performance statistics for problem detection and self-tuning purposes. This data is both in memory and stored in the database.

Garbage collection, built into many programming languages, is an automatic way of managing the memory available to various objects. The garbage collection mechanism tracks objects still being used, marks the objects no longer in use as garbage and through the process of garbage collection, it automatically frees up the memory for use by other objects. In the case of Java, garbage collection is done within the Java Virtual Machine environment.

Garbage collection overhead refers to the additional resources, processing time, used by the garbage collection mechanism.

Software applications can choose to implement various garbage collection types depending on the performance goals. In Java, for example, developers can decide to implement garbage collection of types single-threaded (serial), multithreaded (parallel), concurrent mark then sweep (CMS) or parallel collection in multiple memory zones. Each method uses various resources and CPU time, affecting the overall application performance.

The heap, for example in the Java heap, is a repository of Java objects. The heap is the sum of active objects, dead objects (marked for garbage collection), and free memory. Heap size tuning in Java refers to minimizing the time that the JVM spends doing garbage collection while maximizing the number of clients that the application server can handle at a given time. A heap map provides the memory details of a given process.