403 karma · joined July 30, 2014
When I need to synchronize with someone else, time zones get in the way. When I need to describe an experience relative to where I am, I might want to refer a time calibrated to exact my coordinates on the Earth. That was hard in the 1800's but would be easy today now that everyone carries a GPS receiver in their pocket. The same for reporting time relative to sunrise.
$ java -server -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal -version|grep TieredCompilation
bool TieredCompilation = false {pd product}
java version "1.7.0_55"
Java(TM) SE Runtime Environment (build 1.7.0_55-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode)
I would be interested in hearing from people with first-hand experience disabling TieredCompilation on Java 8 on production servers.Yes, I agree if C2 recompiles something C1 already compiled, the C1-compiled machine code should be freed from the codecache.
An unfortunate thing about using non-default JVM settings is that you need to scrutinize them every time you switch Java versions. If I ever go through this again, I will know to pay more attention to every JVM setting we override.
We don't have a complete understanding of why this app uses so much more codecache than other apps we've switched to Java 8. Now that we expose the codecache size in Datadog, I may try plotting code size vs codecache size for a variety of our apps.