Skip to content

Use -XX:+IProfileDuringStartupPhase in populate_scc.sh scripts#482

Merged
leochr merged 1 commit into
OpenLiberty:vNextfrom
rmnattas:scc_IProfileDuringStartupPhase
Jan 5, 2024
Merged

Use -XX:+IProfileDuringStartupPhase in populate_scc.sh scripts#482
leochr merged 1 commit into
OpenLiberty:vNextfrom
rmnattas:scc_IProfileDuringStartupPhase

Conversation

@rmnattas

@rmnattas rmnattas commented Nov 7, 2023

Copy link
Copy Markdown
Contributor

Add -XX:+IProfileDuringStartupPhase option to the populate scc script

When populating the SCC during the build of both the Liberty and app containers, the JVM can disable the IProfiler collection during JVM startup to enhance startup time, but this limits the amount of IProfiler information that can be stored into the SCC.

OpenJ9 can now support -XX:+IProfileDuringStartupPhase to enforce collecting IProfiler information during startup and better populate the SCC, which can be used in the populate_scc.sh script.

The option will be ignored if the used OpenJ9 build does not have the new option implemented.

Effect is larger amount of JIT Data in the SCC after a populate_scc run.
There’s no functional implications on Liberty, and performance effect is application dependent.

In AcmeAir micro-services we see a jump in the amount of JIT Data stored in the SCC when using this option in the populate_scc.sh script, from 140KB to 524KB (and from 132KB to 388KB for the Liberty container layer). Performance effect shows around 1.5% better throughput with default setup, and no noticeable rampup change. I don’t have results on startup effect, but warm/production-runs won’t use the option.

Other than OpenJ9 testing, we have used the option in the populate_scc.sh script during the CI process of building the containers.

OpenJ9 PR: eclipse-openj9/openj9#18381

@rmnattas

rmnattas commented Nov 7, 2023

Copy link
Copy Markdown
Contributor Author

@leochr

@rmnattas

rmnattas commented Dec 8, 2023

Copy link
Copy Markdown
Contributor Author

Updated the PR as requested (changing version 23.0.0.12 and latest only in vNext).
The OpenLiberty version is at #482.

@rmnattas

rmnattas commented Jan 2, 2024

Copy link
Copy Markdown
Contributor Author

Does this need to be updated for 24.0.0.1 @leochr ?
Similarly for WASdev/ci.docker#564

@leochr

leochr commented Jan 2, 2024

Copy link
Copy Markdown
Member

@rmnattas Just catching up after the vacation. Yes, please update 24.0.0.1 (and latest folders) instead. Thank you.

Make use of `-XX:+IProfileDuringStartupPhase` in the `populate_scc.sh`
script to enforce collecting IProfile information during JVM startup
phase and have more information to store into the SCC.

Signed-off-by: Abdulrahman Alattas <rmnattas@gmail.com>
@rmnattas rmnattas force-pushed the scc_IProfileDuringStartupPhase branch from c5b191d to bfef445 Compare January 3, 2024 19:55
@rmnattas

rmnattas commented Jan 3, 2024

Copy link
Copy Markdown
Contributor Author

@leochr Updated the PR to modify 24.0.0.1 and latest instead. Similarly for WASdev/ci.docker#564

@leochr

leochr commented Jan 4, 2024

Copy link
Copy Markdown
Member

@rmnattas Thanks for the update. Looks good to me.

@mpirvu could you please take a look as well? Thanks.

@mpirvu mpirvu left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@leochr leochr merged commit 053c812 into OpenLiberty:vNext Jan 5, 2024
miuponn pushed a commit that referenced this pull request May 29, 2025
* Updates for the release of 22.0.0.12

* Remove 22.0.0.6; Update travis configuration
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants