See here:
https://stackoverflow.com/a/58292061/2613885
This is arguably the UX bug: users expect low latency, but may not be aware that additional configuration is needed for GCs to perform well in those conditions. Epsilon already enables LSM, and should warn about Xms/Xmx/AlwaysPreTouch config too. It cannot adjust these settings, though, because it would affect startup time -- users would have to opt-in.
Sample patch:
http://cr.openjdk.java.net/~shade/8232051/webrev.01/
Emits these warnings:
[0.001s][warning][gc] Consider setting -Xms equal to -Xmx to avoid resizing hiccups
[0.001s][warning][gc] Consider adding -XX:+AlwaysPreTouch to avoid memory commit hiccups
These warnings can be shunned by overriding the default logging level with -Xlog:gc=error.