Reference Manual: A Guide to Commandline Options in JRockit
D Startup Options
jrockit.adaptiveFatSpinMaxSleep
Description
Adaptive fatlock-spinning
- Definition: Let the JVM decide if JRockit tries to spin or go to sleep directly for each lock separately. This can also change during runtime to adapt to changed behaviour in the app.
- Default: Disabled
- Enable:
-Djrockit.useAdaptiveFatSpin=true
Tunables:
-Djrockit.adaptiveFatSpinMaxSleep=1000
Number of sleeps that must get the lock early before JRockit goes back to spinning.
Operation
Flags or Other Options Affected
Exceptions
jrockit.adaptiveFatSpinMaxSpin
Bjrön
Description
Number of spins that must fail before we switch to sleeping. What is a spin in this context?
Operation
-Djrockit.adaptiveFatSpinMaxSpin=1000
Flags or Other Options Affected
Exceptions
jrockit.adaptiveFatSpinTimeStampDiff
Björn
Description
-Djrockit.adaptiveFatSpinTimeStampDiff=2000000
Max diff in CPU-specific ticks that we think spinning is beneficial.
Operation
Flags or Other Options Affected
Exceptions
jrockit.affinity
Jocke
Description
Operation
Flags or Other Options Affected
Exceptions
-Djrockit.assertion.dontstop
When an assert happens, BEA JRockit usually stalls waiting for the user to attach a debugger. Using this option, JRockit will print a message and then continue to run.
This option is used only to debug BEA JRockit and does not ship with the product.
Operation
Flags or Other Options Affected
Implementation
Exceptions
jrockit.cleartype
Eva
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.codecoverage.appendoutput
Fredrik
Description
Append to the output file rather than overwriting it.
Operation
Flags or Other Options Affected
Exceptions
jrockit.codecoverage.filter
Fredrik
Description
-Djrockit.codecoverage.filter=<filterspec>
Sets which classes should be covered.
Filterstrings starting with "-" will be considered as classes that should not be covered. Separate filters with ";" on windows and ":" on Linux Example:
-Djrockit.codecoverage.filter=java/util/Hashtable;com/bea/*;-com/bea/blabla.*
Operation
Flags or Other Options Affected
Exceptions
jrockit.codecoverage.filterfile
fredrik
Description
Set the filename of a file including the filter. The fileformat is one filterstring per line.
Operation
-Djrockit.codecoverage.filterfile=<filename>
Flags or Other Options Affected
Exceptions
jrockit.codecoverage.outputfile
Fredrik
Description
-Djrockit.codecoverage.outputfile=<filename>
Set the file where output is written. If the output file cannot be opened for writing <filename>_0, <filename>_1, and so on will be tried. This can be useful if several JVMs share a common commandline.
Operation
Flags or Other Options Affected
Exceptions
jrockit.codecoverage.testid
Freddan
Description
-Djrockit.codecoverage.testid=<id-string>
Set the initial test identifier
Operation
Flags or Other Options Affected
Exceptions
jrockit.codecoverage.verbose
Freddan
Description
-Djrockit.codecoverage.verbose
Make code coverage more verbose. Useful for performing textual differences between coverage files. Everything is plain text.
Operation
Flags or Other Options Affected
Exceptions
jrockit.codegen.checkedstacks
Jocke
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.codegen.cgpriority
Micke
Same as for optpriority but this is for the normal codegeneration.
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.codegen.cgthreads
Micke
Description
This option defines the number of code generation threads that are going to be allowed. Normal is one per CPU.
Operation
Flags or Other Options Affected
Exceptions
jrockit.codegen.listlength
Micke
Description
Defines how long the code generation line is allowed to be.
Operation
Flags or Other Options Affected
Exceptions
jrockit.codegen.nojitinline
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.codegen.nopriv
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.codegen.noquickjit
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.codegen.noquickStart
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.codegen.noscheduling
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.codegen.oldstylejit
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.codegen.optthreads
Description
This sets how many code generation threads that yeilds the optimal use. The normal is one per CPU.
Operation
Flags or Other Options Affected
Exceptions
jrockit.codegen.freq.nocalls
Jocke
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.codegen.freq.nothrows
Jocke
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.codegen.nobounds
Jocke
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.codegen.nopmpyshr
Jocke
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.codegen.nopreservedthis
Jocke
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.codegen.optpriority
Micke
Description
This option defines which priority the thread that is being optimized should have.
Operation
Flags or Other Options Affected
Exceptions
jrockit.codegen.preopt
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.codegen.printOptState
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.codegen.quickjit
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.codegen.strictfp
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.codemgr.breakonthisclass
Marcus
Description
Does it still crash if you run JRockit with XnoOpt?
If yes, optimizations are probably not to blame, examine the code generation by running with -Xverbose:codegen
. Examine the latest generated methods, does any of them occur during several crashes? Do they look suspiscious, i.e. have many parameters, nested blocks, etc. Try to generate the same methods in your own program, create dummy classes so that the new method has the exact same structure. (The program doesn't have to run, just be generated.)
If it doesn't crash, remove the -Xnoopt
flag and run with -Xverbose:opt
to examine the optimization behavior.
-Xverbose:codegen is also useful as general tool for tracking down which Java code was being run at the time, even if Java stack is missing.
Do you suspect a certain class or method? Specify the java property jrockit.codemgr.breakonthisclass="fully qualified class name"
jrockit.codemgr.breakonthismethod="method name"
or jrockit.codemgr.breakonthisdescriptor="descriptor name"
Put a breakpoint on the function cmgrBreakpoint
in codemanager.c
.
Operation
Used for debugging purposes only.
Flags or Other Options Affected
Exceptions
jrockit.codemgr.breakonthisdescriptor
Marcus
Description
See above.
Operation
Used for debugging purposes only.
Flags or Other Options Affected
Exceptions
jrockit.codemgr.breakonthismethod
Marcus
Description
See above.
Operation
Used for debugging purposes only.
Flags or Other Options Affected
Exceptions
jrockit.codemgr.callprof.disabled
Micke.
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.codemgr.callprof.exact
Micke
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.codemgr.callprof.maxdistinctcalls
Micke
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.codemgr.callprof.polymorphism
Micke
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.codemgr.insertci
Jocke
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.codemgr.longcalls
Micke
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.codemgr.naivesched.disable
Tuva
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.codemgr.naivesched.dstBlock.maxNoofOp
Tuva
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.codemgr.naivesched.dstBlock.minNoofOp
Tuva
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.codemgr.naivesched.srcBlock.maxNoofOp
Tuva
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.codemgr.naivesched.srcBlock.minNoofOp
Tuva
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.codemgr.noandopt
Micke
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.codemgr.noremopt
Micke/Peter
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.codemgr.outfile
Olof inkomplett implementation,
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.codemgr.printrf
MIcke
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.codemgr.shladd
Peter/Micke
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.codemgr.switchconv.disable
Tuva
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.cpu.ia32.netburst
Marcus.
Description
This option sets which type of ia32 architecture that the code is optimized for. In this case it is the NetBurst architecture.
Operation
Set the option with:
jrockit.cpu.ia32.netburst=true
forces JRockit to generate code for the NetBurst architecture.
jrockit.cpu.ia32.netburst= false
forces JRockit to generate old type of code for NetBurst.
Flags or Other Options Affected
Exceptions
jrockit.ctrlbreak.enable
Staffan
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.debuglibs
Calle
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.disableAdaptiveFatSpin
Björn
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.disableFatLockDeflation
Björn
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.disablefatspin
Björn
Description
Normal fatlock-spinning
- Definition: Always spin for a while when a fat lock is contended before we go to sleep.
- Default: Enabled
- Disable: -Djrockit.disablefatspin=true
- Tunables: Write something here
Operation
Flags or Other Options Affected
Exceptions
jrockit.dlmalloc.pagesize
Marcus
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.dontusectrlbreakfile
Staffan
Description
How the new controllable Ctrl-Break works: when you press Ctrl-Break JRockit will search for a file named ctrlhandler.act in your current working directory. If it doesn't find the file there it will look in the directory of the jvm. If it does not find this file there either it will revert to displaying the normal thread-dump. However, if it finds the file, it will read the file searching for command entries, each command entry will invoke the corresponding ctrl-break handler.
You can disable this functionality by setting -Djrockit.dontusectrlbreakfile=true.
Each command entry starts with a ctrl-break-handler name followed by the arguments to be passed to the ctrl-break handler. The arguments should be on the property form (i.e. name=value). String, integer or boolean values are acceptable property types. See the ctrlhandler.act example below.
Operation
To enable/disable any CtrlBreakHandler use the system property:
-Djrockit.ctrlbreak.enable<name>=<true|false>
where name is the name of the CtrlBreakHandler
. The follwoing two handlers are disallowed by default and need to be turned on: run_class and force_crash
Flags or Other Options Affected
Exceptions
jrockit.dumpmap
Saffan
Hittar inget.
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.dumputf8pool
Calle
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.enablefatspin
Björn
Description
Fat lock optimization.
Operation
Flags or Other Options Affected
Exceptions
jrockit.fatLockDeflationLimit
Björn
Description
Lock deflation
- Definition: A fatlock gets converted back to a thin-lock if it is believed that there is sufficiently little contention on the lock.
- Default: Disabled
Number of uncontended fatlock unlocks before we deflate.
Operation
- Enable: -Djrockit.useFatLockDeflation=true
- Tunables: -Djrockit.fatLockDeflationLimit=2000
Flags or Other Options Affected
Exceptions
jrockit.fatlockpolls
Björn
Hittar inget.
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.fatlockreads
Björn
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.fatlockspins
Björn
Description
Adaptive fatlock-spinning
- Definition: Let the JVM decide if we should try to spin or go to sleep directly for each lock separately. This can also change during runtime to adapt to changed behaviour in the app.
- Default: Disabled
- Enable: -Djrockit.useAdaptiveFatSpin=true
- Tunables:
Djrockit.adaptiveFatSpinTimeStampDiff=2000000
Max diff in CPU-specific ticks that we think spinning is beneficial.
Djrockit.adaptiveFatSpinMaxSpin=1000
Number of spins that must fail before we switch to sleeping.
Djrockit.adaptiveFatSpinMaxSleep=1000
Number of sleeps that must get the lock early before we go back to spinning.
Djrockit.fatlockspins=100
Number of loops before we try to read from the lock again in the innermost lock spin code.
Operation
Flags or Other Options Affected
Exceptions
jrockit.fatlockyields
Björn.
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.fullsystemgc
Eva
Description
Operation
mmInitMemoryManager("Xgc", "parallel"); mmSetCompactRatio(0); mmSetMinBlockSize(64*1024); setSystemProperty("jrockit.fullsystemgc", mmStrdup("true")); #if defined(IA64) lowmemUseLargePagesDontExit(); #endif
Flags or Other Options Affected
Exceptions
jrockit.heapfrag.path
Fredrik
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.heapreport
Noora/Eva
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.hotspot.boostlength
Jocke
Description
opt:
setSystemProperty("jrockit.hotspot.mode", mmStrdup("boost"));
setSystemProperty("jrockit.hotspot.booststart", mmStrdup("20"));
setSystemProperty("jrockit.hotspot.boostlength", mmStrdup("200"));
setSystemProperty("jrockit.hotspot.noofcandidates", mmStrdup("300"));
Operation
Flags or Other Options Affected
Exceptions
jrockit.hotspot.booststart
Jocke
Description
opt:
setSystemProperty("jrockit.hotspot.mode", mmStrdup("boost"));
setSystemProperty("jrockit.hotspot.booststart", mmStrdup("20"));
setSystemProperty("jrockit.hotspot.boostlength", mmStrdup("200"));
setSystemProperty("jrockit.hotspot.noofcandidates", mmStrdup("300"));
Operation
Flags or Other Options Affected
Exceptions
jrockit.hotspot.mode
Jocke
Description
opt:
setSystemProperty("jrockit.hotspot.mode", mmStrdup("boost"));
setSystemProperty("jrockit.hotspot.booststart", mmStrdup("20"));
setSystemProperty("jrockit.hotspot.boostlength", mmStrdup("200"));
setSystemProperty("jrockit.hotspot.noofcandidates", mmStrdup("300"));
Operation
Flags or Other Options Affected
Exceptions
jrockit.hotspot.noofcandidates
Jocke
Description
opt:
setSystemProperty("jrockit.hotspot.mode", mmStrdup("boost"));
setSystemProperty("jrockit.hotspot.booststart", mmStrdup("20"));
setSystemProperty("jrockit.hotspot.boostlength", mmStrdup("200"));
setSystemProperty("jrockit.hotspot.noofcandidates", mmStrdup("300"));
Operation
Flags or Other Options Affected
Exceptions
jrockit.inflationthreshold
Bjrön
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.jradelay
Helena
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.jrafilename
Helena
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.jranativesamples
Helena
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.jranogcsampling
Helena
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.jranomethodsampling
Helena.
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.jrarecordingtime
Helena
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.jrasampletime
Helena
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.loading.breakonthisclass
Marcus
Description
This option is used when JRockit is loaded from disk or a network. It works like codebreak on this class?!.
Operation
Used for debugging purposes only.
Flags or Other Options Affected
Exceptions
jrockit.lockprofiling
Björn
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.mallocfailure.freq
Johan
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.managementserver
Hirt
Description
- jrockit.managementserver.autodiscovery = (enables the Jrockit Discovery Protocol, true|false, default is false)
- jrockit.managementserver.discovery.period (how long to wait between pings (in ms), default is 5000)
- jrockit.managementserver.discovery.ttl (number of hops to live, default is 1)
- jrockit.managementserver.discovery.address (multicast address to use, default is 232.192.1.212)
- jrockit.managementserver.discovery.port (multicast port to use, default is 7095)
- jrockit.managementserver.port (the port for communicating with the management server, default is 7090)
- jrockit.managementserver.timeout (socket timeout for the server, default is 4000)
- jrockit.managementserver.maxconnect (maximum number of connections allowed to the server, default is 4)
- jrockit.managementserver.preinit (improves connection time for first connection, true|false, default is true)
Operation
Flags or Other Options Affected
Exceptions
jrockit.memleak
Helena
Description
-Djrockit.memleak=true - enables detailed heap statistics after GCs Operation
Flags or Other Options Affected
Exceptions
jrockit.memleak.period
Helena
Description
-Djrockit.memleak.period=# - informs the memleak information on how frequent to count and display detailed heap statistics: 1 means every gc, 2 means every other gc etc.
Operation
Flags or Other Options Affected
Exceptions
jrockit.memleak.periodtype
Hlelealn
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.monitorpolls
Björn
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.monitorspins
Björn.
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.ncpus
Jocke
Description
Operation
Flags or Other Options Affected
Exceptions
XXnoBounds
Jocke Vad gör denna här egentligen?
Description
never generate arrayboundschecks. Debugging purposes.
Operation
Flags or Other Options Affected
Exceptions
jrockit.nohup
Staffan
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.noparsweep
David
Description
One feature (that can be confusing) is that if the concurrent mark phase discovers that it runs out of memory it will force a parallel sweep, even if the user has asked for a concurrent sweep. This is because there is no point in doing a concurrent sweep phase if the freelist is empty. It is better to utilize all available processors to do the sweeping, so the pause at least stays as short as possible.
Operation
This behaviour can be turned off with -Djrockit.noparsweep=true
Flags or Other Options Affected
Exceptions
jrockit.nopauseonexit - only really used in launcher
QA internal
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.nosystemgc
Eva.
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.oldsystemgc
Eva
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.oomdiagnostics
Eva
Description
This option displays information about out of memory errors, physical memory, shows diagnostics of the heap, and it also displays other information. The option can be forced with the oom_diagnositcs CtrlBreakHandler
.
Operation
This is how you print an OutOfMemoryDiagnostics
. If both set_filename
and -Djrockit.oomdiagnostics.filename
is set, the latter takes precedence. (what does that mean that the latter takes precedence??)
- Start with the platform where the application is already installed (marked bold in the table below??).
- Run JRockit and your application twice--once for each of the below displayed configuration:
-XXsetgc:barbapappa -Xdebug -Djrockit.oomdiagnostics=true -XXcodecache -Xmanagement
-XXaggressive:opt -Djrockit.oomdiagnostics=true -XXcodecache -Xmanagement
- Once during each run, try to connect the management console and make a JRA recording (there is a menu-option for doing this through the console!!!).
- Once during each run, get a memusage dump for the application. Your ctrlhandler.act must contain at least the following lines:
version
command_line
print_memusage
- Report any bugs you find with as much information as possible. Before filing, try to reproduce it and add "
reproduceability
"-info to the CR as well. Please set the "Test Class
" of the CR to "Trashathon
".
- When considered done with a platform, move on to one of your other designated platforms. Install, setup and run your application on the new platform, following the same proceedure as presented in steps 2 through 6.
Note: If you have any problems installing your application on a new platform (following the instructions documented on the wiki), please install WLS and run MedRec instead, or PetStore.
Flags or Other Options Affected
Exceptions
jrockit.oomdiagnostics.filename
Eva
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.optfile
Olof
Description
Nullness in GCM (Marcus) - We erronuously move a faulting instruction
-Xnoopt -Xverbose:opt -Djrockit.optfile=c:\views\mikael\optfile -Xverify -Xmx1g -XXpreopt -cp C:\jck\JCK-runtime-14a\classes -Djava.security.policy=C:\jck\JCK-runtime-14a\lib\jck.policy javasoft.sqe.tests.api.java.awt.Component.prepareImageTests -TestURL file:///C:/jck/JCK-runtime-14a/tests/api/java_awt/Component/descriptions.html#prepareImage
optfile: + java/awt/Component:getToolkit*
Works?
Directives are used for saying that certain methods should not be optimized, or should be forced optimized. By specifing a file with -Djrockit.optfile= this file is used for reading directives to the optimizer. The file contains lines with methods and directives.
For example, the following file:
+ bm.time.StaticFactorialTest:fact(I)I
- java.lang.FloatingDecimal:dtoa
- java.lang.Object
+ sun.awt.windows.WComponentPeer:set*
means that the fact(I)I method in StaticFactorialTest is optimized the first time we hit it and that all methods called dtoa in FloatingDecimal as well as all methods in Object are never optimized. And that all methods in sun.awt.windows.WComponentPeer beginning with 'set' should be optimized. Conflicting directives are applied from the top, the first match is used.
Wildcards ('*') can be used last in a class or method name.
If the method or descriptor is skipped, it is taken to mean all methods and descriptors.
Operation
Flags or Other Options Affected
Exceptions
jrockit.printexceptions
Staffan
Description
There are several verbose options available in JRockit, most are not publicly documentated for various reasons. They are specified in the form:
-Xverbose:component <,componentN>
E.g: -Xverbose:memory,opt
The output ends up in stderr bu default, but may by sent to file using -Xverboselog=. A description of each "component" follows.
Print exceptions and stacktraces
You can set these options to get more information about exceptions being thrown by the program. (In pre-Ariane81SP3Load6 this only works for DEBUG versions).
-Djrockit.printexceptions=true|all|false
-Djrockit.printstacktraces=true|all|false
The all option will print every exception, while the true option will print everything except java/util/EmptyStackException, java/lang/ClassNotFoundException and java/security/PrivilegedActionException since these are thrown multiple times by the classloaders for each loaded class.
You can also control this through a Ctrl Break Handler (only post Ariane81SP3Load6) called print_exceptions. It takes two arguments: exceptions and stacktrraces with the same parameters as above. For example:
print_exceptions exceptions=true stacktraces=true
Operation
Flags or Other Options Affected
Exceptions
jrockit.printOpState
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.printstacktraces
Saffan
Description
Print exceptions and stacktraces
You can set these options to get more information about exceptions being thrown by the program. (In pre-Ariane81SP3Load6 this only works for DEBUG versions).
-Djrockit.printexceptions=true|all|false
-Djrockit.printstacktraces=true|all|false
The all option will print every exception, while the true option will print everything except java/util/EmptyStackException, java/lang/ClassNotFoundException and java/security/PrivilegedActionException since these are thrown multiple times by the classloaders for each loaded class.
You can also control this through a Ctrl Break Handler (only post Ariane81SP3Load6) called print_exceptions. It takes two arguments: exceptions and stacktrraces with the same parameters as above. For example:
print_exceptions exceptions=true stacktraces=true
Operation
ant -f run.xml test -Dtpw.test=specjbb-Dtpw.level=sanity -Dspecjbb.test.home=D:\tests\SPECjbb2000 -Dtest.jvm.home=d:\java\jrockit-j2sdk1.4.2_03 -Dtest.jvm.exe=d:\java\jrockit-j2sdk1.4.2_03\bin\java -Dtest.jvm.args="-showversion -Xgc:gencon -Djrockit.printstacktraces=all"
Flags or Other Options Affected
Exceptions
jrockit.prinstart
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.printsystemgc
Eva.
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.reflect.GenerateCompiledInvokers
Dr. Dynga
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.rollforward.range
Micke
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.rollforward.wait
Micke
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.showallocsiteforclass
Staffan
Description
-Djrockit.showallocsiteforclass=name
- printout the back-trace for each allocation site of the class named . Each back-trace is printed out only the first time, though the same allocation site might be displayed multiple times if the back-trace is different.´
Operation
- All allocation-sites (including the whole trace) for a specified type
Allocation site: 0 for class java/lang/String
at java/io/BufferedReader.readLine(BufferedReader.java:331)
at java/io/BufferedReader.readLine(BufferedReader.java:362)
at java/util/Properties.load(Properties.java:192)
at java/util/logging/LogManager.readConfiguration(L:555)
.
at java/lang/Thread.run(Unknown Source)
--- End of stack trace
Allocation site: 1 for class java/lang/String
at java/util/Locale.toUpperCase(Locale.java:1138)
at java/util/Locale.<init>(Locale.java:265)
at java/util/Locale.<clinit>(Locale.java:195)
at java/util/Locale.getDefault(Locale.java:???)
at java/lang/String.toLowerCase(Unknown Source)
at java/net/URL.<init>(URL.java:366)
.
at java/lang/Thread.run(Unknown Source)
--- End of stack trace
When allocation site is enabled you will also see some cryptic information at the end of the deatailed heap statistics dump: "[0: 2] [1: 5]" This is information about what allocation sites are called most frequently. The first number in each pair is the allocation site, the second number is a frequency counter, a high number means that it is called often. The way it works is that every nth time one of the allocation sites is reached the counter for that allocation site is incremented.
Flags or Other Options Affected
Exceptions
jrockit.skiposcheck
Staffan
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.spinsbeforeinflation
Bjrön
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.spinsbeforeread
Björn
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.spinsbeforeyield
Bjöprn
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.thinlockpolls
Björn
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.thinlockspins
Björn
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.useAdaptiveFatSpin
Björn
Description
Adaptive fatlock-spinning
- Definition: Let the JVM decide if we should try to spin or go to sleep directly for each lock separately. This can also change during runtime to adapt to changed behaviour in the app.
- Default: Disabled
- Enable:
-Djrockit.useAdaptiveFatSpin=true
- Tunables:
Djrockit.adaptiveFatSpinTimeStampDiff=2000000
Max diff in CPU-specific ticks that we think spinning is beneficial.
Djrockit.adaptiveFatSpinMaxSpin=1000
Number of spins that must fail before we switch to sleeping.
Djrockit.adaptiveFatSpinMaxSleep=1000
Number of sleeps that must get the lock early before we go back to spinning.
Djrockit.fatlockspins=100
Number of loops before we try to read from the lock again in the innermost lock spin code.
Operation
Flags or Other Options Affected
Exceptions
jrockit.usectrlbreakfile
Staffan.
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.useFatLockDeflation
Björn.
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.verboserefs
Mattias
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.verify
Staffan
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.vm
It is a property that QA might want to know what it is.
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.waitonerror
Staffan.
Description
Operation
Flags or Other Options Affected
Exceptions
java.vendor
Description
Operation
Flags or Other Options Affected
Exceptions
java.vendor.url
Description
Operation
Flags or Other Options Affected
Exceptions
jrockit.version
Description
Operation
Flags or Other Options Affected
Exceptions
java.vm.specification.version
Description
Operation
Flags or Other Options Affected
Exceptions
java.vm.specification.vendor
Description
Operation
Flags or Other Options Affected
Exceptions
java.vm.specification.name
Description
Operation
Flags or Other Options Affected
Exceptions
java.vm.vendor
Description
Operation
Flags or Other Options Affected
Exceptions
java.vm.version
Description
Operation
Flags or Other Options Affected
Exceptions
java.vm.vendor.url
Description
Operation
Flags or Other Options Affected
Exceptions
java.vm.name
Description
Operation
Flags or Other Options Affected
Exceptions