RFR: 8312116: GenShen: make instantaneous allocation rate triggers more timely [v19]
Kelvin Nilsen
kdnilsen at openjdk.org
Tue Jan 27 19:53:24 UTC 2026
> After studying large numbers of GC logs with degenerated cycles that have resulted from "late" triggers, we propose the following general improvements:
>
> 1. Track trends in GC times rather than always using the average GC time plus standard deviation. In many situations, GC times trend upward due to, for example, increasing amounts of live data that must be marked as a workload builds up its working set of memory.
> 2. Sample allocation rates more frequently than once every 100 ms.
> 3. Track trends in allocation rates. In some situations, the allocation rate trends upwards due to, for example, the start of a new phase of execution or a spike in client workload.
> 4. When we detect acceleration of allocation rate, predict consumption of memory based on accelerated allocation rates rather than assuming constant allocation rate.
Kelvin Nilsen has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 86 commits:
- Merge remote-tracking branch 'jdk/master' into accelerated-triggers
- some cosmetic improvements
- Use fewer samples to detect acceleration
- align log messages for trigger trace
- remove problematic debug messages
- More detailed instrumentation and simpler allocatable calculation
- Turn on trigger trace
- remove tab
- Remove redundant sample for spike rate
- Insert instrumentation to diagnose bad scheduling decisions
- ... and 76 more: https://git.openjdk.org/jdk/compare/eb6e74b1...ca6b9625
-------------
Changes: https://git.openjdk.org/jdk/pull/29039/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=29039&range=18
Stats: 1179 lines in 24 files changed: 1078 ins; 35 del; 66 mod
Patch: https://git.openjdk.org/jdk/pull/29039.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/29039/head:pull/29039
PR: https://git.openjdk.org/jdk/pull/29039
More information about the hotspot-gc-dev
mailing list