You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This issue is created to be main discussion place for:
find equivalents in OpenJ9
specify unique internal OpenJ9 parameter name
parameters details: initial vs current, availability for current GC policy etc.
API implementation details
There is list of GC parameters required to be provided to JFR:
============================
GC General
Field: youngCollector
Type: GCName
Description: Young Garbage Collector: The garbage collector used for the young generation
OpenJ9 equivalent: Scavenger for Gencon, ? for other GC policies
Field: oldCollector
Type: GCName
Description: Old Garbage Collector: The garbage collector used for the old generation
OpenJ9 equivalent: ?
Field: parallelGCThreads
Type: uint
Description: Parallel GC Threads: Number of parallel threads to use for garbage collection
OpenJ9 equivalent: maximum? current?
Field: concurrentGCThreads
Type: uint
Description: Concurrent GC Threads: Number of concurrent threads to use for garbage collection
OpenJ9 equivalent: ?
Field: usesDynamicGCThreads
Type: boolean
Description: Uses Dynamic GC Threads: Whether a dynamic number of GC threads are used or not
OpenJ9 equivalent: Uses Dynamic GC Threads
Field: isExplicitGCConcurrent
Type: boolean
Description: Concurrent Explicit GC: Whether System.gc() is concurrent or not
OpenJ9 equivalent: ?
Field: isExplicitGCDisabled
Type: boolean
Description: Disabled Explicit GC: Whether System.gc() will cause a garbage collection or not
OpenJ9 equivalent: Disabled Explicit GC
Field: objectAlignment
Type: ulong: bytes
Description: Object alignment (in bytes) on the heap
OpenJ9 equivalent: Object alignment (in bytes) on the heap
Field: heapAddressBits
Type: ubyte
Description: Heap address size (in bits)
OpenJ9 equivalent: Heap address size (in bits)
Field: maxSize
Type: ulong: bytes
Description: Maximum Young Generation Size
OpenJ9 equivalent: Maximum Nursery Size
Field: newRatio
Type: uint
Description: New Ratio: The size of the young generation relative to the tenured generation
OpenJ9 equivalent: The size of the Nursery relative to the size of the Tenure ?
============================
TLABs
Field: usesTLABs
Type: boolean
Description: TLABs Used: If Thread Local Allocation Buffers are in use
OpenJ9 equivalent: TLHs Used: If Thread Local Buffers are in use
Field: maxTenuringThreshold
Type: ubyte
Description: Maximum Tenuring Threshold: Upper limit for the age of how old objects to keep in the survivor area
OpenJ9 equivalent: Maximum Tenuring Threshold
Field: initialTenuringThreshold
Type: ubyte
Description: Initial Tenuring Threshold: Initial age limit for how old objects to keep in the survivor area
OpenJ9 equivalent: Initial Tenuring Threshold ?
The text was updated successfully, but these errors were encountered:
This API can be stretched for JFR support.
Pros: there is single function to all parameters, list can be expanded by adding new keys.
Cons: Strech of current use, unification of outputs for all parameters (please note despite output parameter value has void * type - I guess was designed in expectation of flexible output - current practical use is limited to return UDATA only. I am not sure do we want to change this or unify output for all parameters - for example to return predefined number instead of string)
An alternative common used way is creation if individual external GC function for each of parameters.
Pros: Unlimited flexibility
Cons: Potentially large number of functions needs to be added to the table.
This issue is created to be main discussion place for:
There is list of GC parameters required to be provided to JFR:
============================
GC General
Field: youngCollector
Type: GCName
Description: Young Garbage Collector: The garbage collector used for the young generation
OpenJ9 equivalent: Scavenger for Gencon, ? for other GC policies
Field: oldCollector
Type: GCName
Description: Old Garbage Collector: The garbage collector used for the old generation
OpenJ9 equivalent: ?
Field: parallelGCThreads
Type: uint
Description: Parallel GC Threads: Number of parallel threads to use for garbage collection
OpenJ9 equivalent: maximum? current?
Field: concurrentGCThreads
Type: uint
Description: Concurrent GC Threads: Number of concurrent threads to use for garbage collection
OpenJ9 equivalent: ?
Field: usesDynamicGCThreads
Type: boolean
Description: Uses Dynamic GC Threads: Whether a dynamic number of GC threads are used or not
OpenJ9 equivalent: Uses Dynamic GC Threads
Field: isExplicitGCConcurrent
Type: boolean
Description: Concurrent Explicit GC: Whether System.gc() is concurrent or not
OpenJ9 equivalent: ?
Field: isExplicitGCDisabled
Type: boolean
Description: Disabled Explicit GC: Whether System.gc() will cause a garbage collection or not
OpenJ9 equivalent: Disabled Explicit GC
Field: pauseTarget
Type: long: millis
Description: Pause Target: Target for GC pauses
OpenJ9 equivalent: ?
Field: gcTimeRatio
Type: uint
Description: GC Time Ratio: Target for runtime vs garbage collection time
OpenJ9 equivalent: ?
============================
Object Heap
Field: minSize
Type: ulong: bytes
Description: Minimum Heap Size
OpenJ9 equivalent: Initial Heap Size ?
Field: maxSize
Type: ulong: bytes
Description: Maximum Heap Size
OpenJ9 equivalent: Maximum Heap Size
Field: initialSize
Type: ulong: bytes
Description: Initial Heap Size
OpenJ9 equivalent: Initial Heap Size
Field: usesCompressedOops
Type: boolean
Description: Uses Compressed Oops: If Compressed Oops Are Used
OpenJ9 equivalent: Uses Compressed Oops
Field: compressedOopMode
Type: NarrowOopMode
Description: Compressed Oops Mode
OpenJ9 equivalent: ?
Field: objectAlignment
Type: ulong: bytes
Description: Object alignment (in bytes) on the heap
OpenJ9 equivalent: Object alignment (in bytes) on the heap
Field: heapAddressBits
Type: ubyte
Description: Heap address size (in bits)
OpenJ9 equivalent: Heap address size (in bits)
============================
Generational Collector
Field: minSize
Type: ulong: bytes
Description: Minimum Young Generation Size
OpenJ9 equivalent: Initial Nursery Size ?
Field: maxSize
Type: ulong: bytes
Description: Maximum Young Generation Size
OpenJ9 equivalent: Maximum Nursery Size
Field: newRatio
Type: uint
Description: New Ratio: The size of the young generation relative to the tenured generation
OpenJ9 equivalent: The size of the Nursery relative to the size of the Tenure ?
============================
TLABs
Field: usesTLABs
Type: boolean
Description: TLABs Used: If Thread Local Allocation Buffers are in use
OpenJ9 equivalent: TLHs Used: If Thread Local Buffers are in use
Field: minTLABSize
Type: ulong: bytes
Description: Minimum TLAB Size
OpenJ9 equivalent: Minimum TLH size
Field: tlabRefillWasteLimit
Type: ulong: bytes
Description: TLAB Refill Waste Limit
OpenJ9 equivalent: ?
============================
Tenuring Details
Field: maxTenuringThreshold
Type: ubyte
Description: Maximum Tenuring Threshold: Upper limit for the age of how old objects to keep in the survivor area
OpenJ9 equivalent: Maximum Tenuring Threshold
Field: initialTenuringThreshold
Type: ubyte
Description: Initial Tenuring Threshold: Initial age limit for how old objects to keep in the survivor area
OpenJ9 equivalent: Initial Tenuring Threshold ?
The text was updated successfully, but these errors were encountered: