This evaluation produces statistics for all the shared VM locks used during the profiling session.
Locks are used to guarantee exclusive access to a resource. There is a difference between wait and hold times. The wait time is the time a VM has to wait for until it receives the lock exclusively. If the lock is free, the wait time is short. If the lock is still held by another VM, the wait time lasts until this VM releases the lock. The hold time is the time between the VM receiving the lock and releasing it. Users of locks are required to keep hold times, and hence wait times, as short as possible.
More information: Shared Locks
You have closed a profiling session in which you had activated the recording of synchronization activities. You are now in the evaluation overview for this session.
More information: Evaluating Profiling Data
In the navigation structure, choose the node Synchronization → Shared Locks
The evaluation screen appears on the right. The upper section of the evaluation screen contains an overview table of the locks with the evaluation scope, and the statistics for wait and hold times.
These are as follows:
● The Evaluation Scope specifies the group of locks or the individual locks for which the evaluation has been run. The first table lines contain the values below:
● Global: All shared VM locks have been evaluated.
● VMno. (ID): All locks in the VM with number, no., and internal identification, ID, have been evaluated.
The next table lines contain values for the individual locks:
● Lock type, ID, and lock name: The lock type is based on the type of object for which the lock is set. The types are identified by the prefixes below:
○ C: Copy only shared closure
○ L: Shared class loader
○ L00000: Bootstrap class loader
○ L662b1: System class loader
○ SYSSCC: Shared code cache
○ SYSSCL: Shared closure table
○ SYSSCP: Shared class pool
○ SYSSCV: Shared class verifier
○ SYSSGC: Shared garbage collector
○ SYSSIT: Shared internal table
○ SYSSLT: Shared lock table
○ SYSSPO: Shared pool
○ SYSSTP: Shared type pool
○ SYSSUI: Unique ID manager
○ X: Shared Java (application) object
More information: Architecture of the VM Container
● The statistical values in each table line are:
○ "W:Min [us]" or "H:Min [us]" is the shortest wait or hold time in microseconds.
○ "W:Max [us]" or "H:Max [us]" is the longest wait or hold time in microseconds.
○ "W:Number" or "H:Number" is the number of wait or hold states
○ "W:Average [us]" or "H:Average [us]" is the average wait or hold time in microseconds.
By double-clicking on a table line the list of operations for this lock is displayed in the lower part of the evaluation screen. Each line in the list contains the following information:
● Symbol of a closed or open lock, and the letter 'E' (for "entered") or 'L' (for "left"), which stand for the operations "Lock Received" or "Lock Released".
● Class and method names of the method in which the lock was received or released
● Number
● Internal ID of the VM that received or released the lock
● Lock name
● Shortest wait or hold time at this location
● Longest wait or hold time at this point
● Number of time the lock was received or released at this location
● Average wait or hold time at this location
All lines in the list have a triangle at the front to indicate that the lines can be expanded by double-clicking on them, and then detailed information is displayed in the expanded lines. In this case the information is the stack traces of the method locations where the lock was received or released.
A difference in the number of wait and hold states indicates possible VM blockages.