man sablevm (Commandes) - manual page for SableVM - free (LGPL) Java Virtual Machine
NAME
SableVM - manual page for SableVM - free (LGPL) Java Virtual Machine
SYNOPSIS
sablevm [OPTION]... CLASSNAME [ARGUMENT]...
DESCRIPTION
NOTE: sablevm command is NOT command-line compatible with the java command. The sablevm command uses GNU style of parameters, and ignores the environmental variables often used by Java programs, like CLASSPATH. If this is not what you want you should look at java-sablevm command which is meant to be command-line compatible with the java command.
- -c, --classpath="PATH"
- set class path
- -p, --property="NAME=VALUE"
- set system property
- -v, --verbose
- enable all verbose options
- -q, --quiet
- disable all verbose options
- -s, --verbose-class
- enable verbose class loading
- -S, --no-verbose-class
- disable verbose class loading
- -g, --verbose-gc
- enable verbose garbage collection
- -G, --no-verbose-gc
- disable verbose garbage collection
- -j, --verbose-jni
- enable verbose JNI
- -J, --no-verbose-jni
- disable verbose JNI
- -y, --copyright
- display copyright
- -Y, --no-copyright
- do not display copyright
- -L, --license
- display license information and exit
- -V, --version
- display version information and exit
Help options:
- -?, --help
- Show this help message
- --usage
- Display brief usage message
AUXILIARY PROPERTIES
It is possible to place multiple elements on boot classpath. Each element may be either a top directory of class tree or a .jar (or zip) file. SableVM offers flexible setup of boot class path thru usage of the following properties.
- sablevm.boot.class.path
- changes boot classpath
- sablevm.boot.class.path.prepend
- prepends entries to default or set boot classpath
- sablevm.boot.class.path.append
- appends entries to default or set boot classpath
- sablevm.boot.library.path
- changes native libraries patch which are used by boot classpath
- (WARNING: the two last properties above are very fragile; expect
- cannot create vm messages if you use them in a wrong way.
MEMORY USAGE CONTROL PROPERTIES
There exist a number of properties that can be used to tune memory usage of SableVM. Normally it is NOT needed to use any of them, as SableVM will take care of allocating as much memory, as your application needs and of freeing the memory when it is not needed anymore. Still, there are some situations when you want to tune or limit maximum memory usage.
The general pattern of available memory controlling properties is:
sablevm.[stack,classloader.heap].size.[min,max,increment]
which tranlates into the following set of available properties:
- sablevm.stack.size.min
- sablevm.stack.size.max
- sablevm.stack.size.increment
- sablevm.heap.size.min
- sablevm.heap.size.max
- sablevm.heap.size.increment
- sablevm.classloader.size.min
- sablevm.classloader.size.max
- sablevm.classloader.size.increment
These properties allow for control over java stack, java heap, and java class loader.
Meaning of the min, max, increment suffixes is the following:
...min initial size in bytes,
...max maximal size in bytes (hard limit); 0 means "no limit",
...increment step by which the amount of memory is incremented when needed, up to the limit specified in max, if any; 0 means "fixed size" (no changes allowed, min is used).
DEBUGGING PROPERTIES
- sablevm.verbose.methods
- when operating on a binary compiled with debugging features - setting this property to true outputs names of every method that is to be executed
- sablevm.verbose.instructions
- when operating on a binary compiled with debugging features - setting this property to true outputs names of every instruction that is to be executed (WARNING: expect flood!!!)
- sablevm.verbose.synchronization
- when operating on a binary compiled with debugging features - setting this property to true causes SableVM to dump a stack trace on every locking contention and on fat lock acquisition.
SEE ALSO
For more informations about SableVM see http://sablevm.org