I keep wanting the same for JVM. It's probably nice that there are so many ways to adjust the JVM to best suit a very wide range of workloads, but from a practical perspective I rarely have spare time to go diving through the guts to experiment. Let me point something at a one-box, and it can tweak parameters to its hearts content, so I can export and apply to the rest of the fleet.
There are also plenty JVMs to pick and some are better than others working with their defaults.
That's the power of having tunables.
https://www.elastic.co/guide/en/elasticsearch/reference/curr...
You also often want to stay below 32 gb to get compressed OOPs
Imagine launching every app and having to say ok you get 300mb but not more!
Of course there are ways to use all the available ram when you deploy your kubernetes pods, you just have to consult the documentation.
Honestly this criticism is ridiculous I can’t believe I even bothered to reply.
If you don't, you just start the JVM with defaults, and it configures itself for optimal performance, using its idea of optimal.
https://blog.discord.com/why-discord-is-switching-from-go-to...
Not to mention: they resolved their Go GC problem, and rewrote the service in Rust as part of a wave of moving services to Rust because they just liked Rust.
Whilst I like the memory ballast as a clever solution, it does smell like a workaround to a solvable problem if a parameter existed to tune it directly.