SABLEVM(1)

NAME
SableVM - manual page for SableVM - free (LGPL) Java Virtual Machine

SYNOPSIS
sablevm [OPTION]... CLASSNAME [ARGUMENT]...

DESCRIPTION

-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 www.sablevm.org