Reference

sablevm(1)

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

java-sablevm(1)

For more informations about SableVM see http://sablevm.org

History