3 Replies Latest reply on Nov 8, 2019 7:18 AM by Martien van den Akker

    How many JVMs does it take to run Weblogic?

    Mr Oracle

      I have searched several blogs and infomercials and have not found an answer to a fairly basic (in my opinion) answer to how many JVMs are actually running in weblogic.

      This is a raging office question/discussion/challenge. 

      If I create a "vanilla" weblogic server with a single domain - reading the startWeblogic the scripting says that the memory (MEM_ARGS) should be passed into the server on startup.

      We are assuming a single domain and no Node Controller or cluster involved (basic simple installation - with a single app in a single domain for simplicity)

      on startup (i.e. java -server -Xms32g -xmx32g) is in the startup log - this would indicate the server (adminServer by default) is running the domain in a single jvm within the admin server (a single jvm).

       

      Other proponents argue that the domain is running in a separate jvm and that the memory args are used in that jvm only and the admin server is in a separate jvm.

       

      I want to be able to settle this argument once and for all - does anyone know the real answer?

       

      Thanks.

        • 1. Re: How many JVMs does it take to run Weblogic?
          Martien van den Akker

          Hi,

           

          A weblogic Domain is in no way an executable artefact. A domain is an administration container concept. A domain is the single consistent unit of administration of a weblogic configuration. It may consist of multiple weblogic servers working together to service the functionality that is implemented within the domain.

           

          A domain has one and only one admin server. And may have any other number of servers. An AdminServer is a weblogic server as any other weblogic server, but with extra admin/management responsibilities. A co-operating manager, as you will. An AdminServer can therefor service any application just as well as a separate managed server.

           

          Every managed server, including the AdminServer, runs in a JVM.

           

          The integrated weblogic in JDeveloper for instance combines the AdminServer with running your developed application. The SOA QuickStart for instance is JDeveloper with an Integrated Weblogic that serves a complete SOA Suite. It's called DefaultServer, and is both AdminServer and SOA Server, running in 1 JVM. So, an AdminServer does not need to be called 'AdminServer': in the config.xml in your domain is defined which server is the admin server.

           

          Clusters in weblogic are just an administrative way to combine servers, have deployments administered in a combined way, and define how servers work together. A cluster does not expose a runtime component, it's concepts are implemented and executed within the managed server.

          This also counts for every other concept in Weblogic (JMS artefacts, JDBC Datasources, etc.)

           

          The Machine definitions in Weblogic are also an administrative concept to couple managed servers to nodemanagers running on a certain 'machine' (host). The executable artefact that is tight to this is the nodemanager. You could employ nodemanagers to be able to startup Weblogic Servers and system components remotely. Or have them (re)started automatically after a host reboot or weblogic server failure. A java nodemanager runs also in a JVM (there can be a scripted nodemanager on Linux, but personally I've never seen it used).

           

          So, to sum up,

          • there are only two concepts that are actually result in a running JVM: a weblogic server (either admin or managed) and nodemanagers.
          • the minimum number of JVMs servicing a domain is 1: An AdminServer which also serves your application.

           

          By the way, although you can have one JVM to service the complete domains functionality, it might be handy to separate the AdminServer from the actual application serving managed server. If you then also employ the nodemanager, you'll be able to restart the managed server from the Weblogic Console on the AdminServer, from the browser. This can be convenient if you regularly need to restart for development or maintenance purposes. Especially, if less tech employees need to admin the environment.

          In that case you have 3 JVM's: Nodemanager, AdminServer en Managed Server.

           

          Kind regards,

          Martien

          1 person found this helpful
          • 2. Re: How many JVMs does it take to run Weblogic?
            Mr Oracle

            Thanks, Most of this I understood.  It was as I expected - only 1 in a "vanilla" install.  I would expect each "server" to have it's own JVM so your final remark follows logically.

            I can now put this to rest in the office!

            • 3. Re: How many JVMs does it take to run Weblogic?
              Martien van den Akker

              You could mark my anser as 'answered' then?

               

              Kind regards,
              Martien