Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Question, what are the recommended flags for OpenJ9? #9

Open
HyperSoop opened this issue Aug 28, 2022 · 7 comments
Open

Question, what are the recommended flags for OpenJ9? #9

HyperSoop opened this issue Aug 28, 2022 · 7 comments

Comments

@HyperSoop
Copy link

I am sure it has some things that would help the game a ton, just not in the default configuration.

@brucethemoose
Copy link
Owner

brucethemoose commented Aug 28, 2022

My tests show it hits server throughput by approximately 40%, and their own description claims its optimized for startup time, not throughput... That's quite a hit to overcome with flag changes.

If you have any suggestions, I'd be happy to test!

@HyperSoop
Copy link
Author

My tests show it hits server throughput by approximately 40%, and their own description claims its optimized for startup time, not throughput... That's quite a hit to overcome with flag changes.

If you have any suggestions, I'd be happy to test!

Thing is, it's optimized for low RAM usage. If we could somehow turn the tables and turn the optimization to throughput performance, that would be great

@brucethemoose
Copy link
Owner

Hmm, there are some interesting flags documented here: https://www.eclipse.org/openj9/docs/x_jvm_commands/

@brucethemoose
Copy link
Owner

I was recommended these flags for low memory usage, and they seem to do just that: https://gist.github.com/FluffyFoxUwU/69f8f156feefae3d826ad0d15c694002

@Phoenix-Starlight
Copy link

Some of the flags are ignored by OpenJ9 or don't work with certain features in OpenJ9. As well, by default, it defaults to the gencon policy which is a throughput collector. Referencing OpenJ9's blog post indicates gencon by itself is similar to ParallelGC which means fps would tank severely due to GC.
What would be better is either balanced policy, or gencon with concurrent scavenge. As well, OpenJ9 has adaptive GC threading in the gencon policy, meaning that you should let the VM figure out how many threads to use.
The following flags are garbage and will be ignored by OpenJ9:

-XX:InitialTenuringThreshold=n
-XX:InitiatingHeapOccupancyPercent=n
XX:ReservedCodeCacheSize=70M
-XX:G1NewSizePercent=20 
-XX:G1ReservePercent=20
-XX:+OptimizeStringConcat
-XX:+TieredCompilation

@TailsFanLOL
Copy link

The gist above returns 404 for me, what were the flags?

@TailsFanLOL
Copy link

Nvm, Wayback Machine

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

No branches or pull requests

4 participants