Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to truly turn off Tiered Compilation?

Tags:

java

jvm

jboss

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?

UPDATE

Weird thing is I add -server in the jvm parameter however it never show up in the jvm parameters in boot.log by Jboss.

like image 598
Dreamer Avatar asked May 04 '15 02:05

Dreamer


1 Answers

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

like image 173
the8472 Avatar answered Sep 28 '22 04:09

the8472