Mutiple JVM in Single Os

Discussion in 'Java' started by Senthil, Feb 9, 2007.

  1. Senthil

    Senthil Guest

    Hi All,
    Is there anybody who knows advantages and disadvantages of using
    Multiple JVM in
    Single OS. Actually we trigger a java program which will execute
    normally and based on
    some condition these will call a java program which will shell script
    to execute some
    other java program in seperate JVM. Will it Bad?? and disadvantage of
    using like this.
    Senthil, Feb 9, 2007
    1. Advertisements

  2. There must be hundreds of thousands maybe millions of computers
    out there running more than one JVM instance.

    Whether it is a good solution or not is not possible to
    say without more details.

    =?ISO-8859-1?Q?Arne_Vajh=F8j?=, Feb 9, 2007
    1. Advertisements

  3. Senthil

    Daniel Pitts Guest

    There is overhead associated with each JVM instance, including
    initialization time and memory footprint.
    If your approach is the easiest/cleanest way to do this, then I say
    stick with it until you run into problems.

    If you do run into problems, consider invoking the Java applications
    from within your originating Java application. Or, consider writting
    some of the functions of the other programs as services rather than
    stand-alone applications.
    Daniel Pitts, Feb 9, 2007
  4. Senthil

    Senthil Guest

    Hi Arne,

    My problem , we a running a Flux engine(scheduler) which will invoke
    batch jobs, unfortunately some of the
    batch jobs are killing the Flux(entire JVM: hot spot error). To
    provide a solution for that i went for seperate
    JVM so that if any kill operation is there, it will kill that JVM and
    it won't affect other process.
    Senthil, Feb 9, 2007
  5. Senthil

    Chris Uppal Guest

    Then you have no choice but to run separate JVMs. The decision is made for
    you -- you need the protection of running is separate processes no matter what
    the implications for performance and memory use.

    It's quite possible that either of those could be a problem. If so then you
    could take a bybrid approach and use just two JVM processes (communicating via
    TCP or some such). One is the master and it hands out tasks to do (but does
    little else); the other is the slave, and it does all the hard work. Whenever
    the slave dies, the master just starts up a new slave. More complicated, but
    it avoids (normally) the startup overhead, and will probably be significantly
    less of a memory hog, if you have several slave tasks all sharing the same JVM
    than having them running in separate processes.

    -- chris
    Chris Uppal, Feb 11, 2007
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.