Join the social network of Tech Nerds, increase skill rank, get work, manage projects...
  • Multitenancy feature in JVM

    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    • 586
    Comment on it

    IBM recently launched the multitenant feature in SDK Java Technology Edition, Version 7 Release 1.

    Each program issuing java command from the command prompt/shell or from GUI invokes an instance of the JVM, which contains resources and the area for the objects and code. A program locates the JVM and starts it. In other words, each program has a dedicated JVM.

    Typically, JVM data structure, heap objects and classes are the key factors to the process footprint. There are certain opportunities to reduce footprint by sharing common JVM structure, classes and heap structure between multiple java invocations. By multiple java application running with a single multitenant JVM, a system can speed application start time and reduce memory footprint.

    There is a significant cost associated with individual application. With no sharing, hardware, software and the applications are fully dedicated to an individual application while in shared multitenancy, multiple applications are supported by using single application, and all the underlying hardware and software is shared. In multitenant, there is high density rather isolation and higher density lowers cost. Multitenant feature enables to gain the advantage of sharing the JVM while it maintains batter isolation that can be achieved.

    Benefits of the Multitenant JVM

    • Avoids memory consumption.
    • Batter isolation than running multiple applications on traditional JVM


    • Less isolated then multiple applications the run in separate JVM instances. For example, a native crash in multitenant JVM affect all tenants.
    • Performance decreases gradually as the number of tenants increases.

    How to Use
    Single argument -Xmt to the command line or to the GUI when launch the application enables run time sharing with other tenants.

    java -Smt -jar xyz.jar

    The command is to launch a program exists in xyz.jar. The launcher either locates the existing shared JVM daemon or starts it. Its easy to run application using the multitenant JVM.


    • No Java Native Interface (JNI). Applications with natives might not be safe to run with the multitenant JVM because these can affect the other tenants.
    • No Java Virtual Machine Tool Interface (JVMTI). Debugging and profiling might affect the other tenants.
    • GUI programs. Libraries like SWT maintains global state in native layer and so are not supported.

 0 Comment(s)

Sign In

Sign up using

Forgot Password
Fill out the form below and instructions to reset your password will be emailed to you:
Reset Password
Fill out the form below and reset your password: