
VMC profiling provides information about the running and resource consumption of a Java application. In a VMC profiling session you first configure what profiling data you want to collect. Then you start the profiling (and the application), and switch it off again when the program sections you are measuring have run through. The data collected in this time period are formatted by VMC profiling and displayed in the statistics or in the traces. Questions can be answered such as:
Which classes or objects used the most memory space?
Which objects are referenced by which other objects, and therefore kept alive?
How frequent and efficient were the garbage collections?
In which methods did the application spend the most time?
Which exceptions were thrown and where were they handled?
Which resources did the VMs have to most frequently wait for?
Purpose
Memory management of Java programs is made considerably easier with automatic VM garbage collections. If however object references that are no longer needed do still exist after garbage collections have run, memory leaks could occur and cause serious performance problems. These problems in the SAP VM Container could worsen if shared closures are used as these always have to be deleted explicitly. If they are not deleted, shared memory is consumed unnecessarily, and this can quickly impair all the VMs on the application server.
More information: Sharing Mechanisms in the VM Container
Use
VMC profiling can help application programmers already in the development stage to track down potential memory leaks and blockages. It can also help them identify locations in the code where performance can be optimized.
VMC profiling can help system administrators determine resource consumption in the system and to optimize configuration parameters for memory requirement and runtime behavior.