My local Java environment is still on
java version "1.6.0_35"
Java(TM) SE Runtime Environment (build 1.6.0_35-b10)
Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01, mixed mode)
When I configure Jboss, I tried to turn off Tiered Compiler as Oracle suggested here, now there is the jvm parameters (with -XX:-TieredCompilation
):
VM Arguments: -XX:+UseCompressedOops -Dprogram.name=standalone.bat
-XX:-TieredCompilation -XX:+PrintGCDetails -Xloggc:E:\serverLog\jvm.log
-Xms1303M -Xmx1303M -XX:MaxPermSize=256M
-Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000
-Djava.net.preferIPv4Stack=true -Dorg.jboss.resolver.warning=true
-Djboss.modules.system.pkgs=org.jboss.byteman
-Djboss.server.default.config=standalone.xml -Dorg.jboss.boot.log.file=E:\JAVA
\JBOSS\EAP-6.0.0.GA\jboss-eap-6.0\standalone\log\boot.log
-Dlogging.configuration=file:E:\JAVA\JBOSS\EAP-6.0.0.GA\jboss-eap-6.0
\standalone/configuration/logging.properties
However, I still see Tiered Compilers showing up in boot.log from JBoss:
java.vm.name = Java HotSpot(TM) 64-Bit Server VM
sun.management.compiler = HotSpot 64-Bit Tiered Compilers
I wonder whether HotSpot 64-Bit Tiered Compilers
means -XX:-TieredCompilation
didn't take effect? Then how can I truly turn off tiered compilation?
Weird thing is I add -server
in the jvm parameter however it never show up in the jvm parameters in boot.log by Jboss.
If you want to verify that tiered compilation is off simply run your application with -XX:+PrintCompilation
.
The output should look approximately like this [tested with java8]
2087 1856 n 0 sun.nio.ch.WindowsSelectorImpl$SubSelector::poll0 (native)
20009 2146 ! 4 java.io.PrintWriter::println (27 bytes)
The ~5th column indicates the compilation tier.
With tiered compilation off it should look like this:
12001 355 ! java.io.PrintWriter::write (58 bytes)
Note that the column indicating the tier is missing
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With