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

Don't default to Eco JVM settings for unknown dynos #282

Merged
merged 1 commit into from
Jan 5, 2024

Conversation

Malax
Copy link
Member

@Malax Malax commented Jan 5, 2024

Currently, if a Dyno type cannot be determined via ulimit -u output matching the JVM options for Eco dynos will be used. These are the most aggressively and specifically tuned options for a low-memory environment. This PR changes this behaviour to explicitly match for Eco, Basic and Standard-1X dynos and default to using JVM ergonomics with a heap maximum of 80% of system memory.

JVM ergonomics work well enough as a default for environment that are not memory constrained. In addition, JVM ergonomics are not Heroku specific and should be less surprising for customers.

We could potentially default Performance-M and Performance-L Dynos to JVM ergonomics as well, but I decided to keep the already established defaults to avoid surprising behaviour for existing customers. The only benefit for us would be the removal of two trivial lines of code. That said, it might be worth making this change for the CNB future.

I manually verified that the JVM settings on each existing Dyno type do not change between main and this PR.

Ref: GUS-W-4634736

@Malax Malax force-pushed the malax/jvm-runtime-options branch from 0f649ce to e0002e9 Compare January 5, 2024 13:04
@Malax Malax marked this pull request as ready for review January 5, 2024 13:40
@Malax Malax requested a review from a team as a code owner January 5, 2024 13:40
@Malax Malax merged commit 70c3172 into main Jan 5, 2024
10 checks passed
@Malax Malax deleted the malax/jvm-runtime-options branch January 5, 2024 13:49
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.

2 participants