The Virtual Machine Container (in short VM Container or VMC) is a component integrated into the SAP Web AS ABAP that enables Java functions that comply with the Java Standard J2SE 1.4 to be executed in AS ABAP. The VMC is optimized for applications that use functions implemented in ABAP as well as in Java, and that have to communicate quickly and reliably with one another.
The VMC runs fully integrated in the Work Process of Web AS ABAP and cannot be run as a stand-alone component. If necessary, it can add a Java virtual machine (in short, Java VM) to the work process, which then takes on the execution of Java application code. To do this several Java VMs are kept in a pool in the application server memory. If required they are moved into the work process, and once executed, they are removed and put back into the pool.
The VM container component can be activated and deactivated using profile parameters for each Web AS ABAP application server.
Below is a list of all the tools relevant for the administration of the VM container:
· The Overview of Work Processes (transaction SM50) indicates whether a work process is executing a Java function. If it is, you can recognize this from the name of the executed program. This name begins with the word Function followed by the name of the Java function module.
· The Overview of the SAP Application Server (transaction SM51) shows which Web AS ABAP is providing an activated VM Container. Application servers with activated VM containers are displayed here with the provided service VMC.
· The VM Overview (transaction SM52) indicates how many Java VMs are available in the pool or are being used, and which applications are being executed by them at this moment. The current memory consumption and the overall status of the memory management of the VM container can also be looked at here. For more information see SAP Note 863354.
· The VMC System Administration (transaction SM53) provides details about the status of the Java runtime environment, and about how to import urgent corrections for Java functions. For more information see note 863354.
· In the SAP Workload Business Transaction Analysis (transaction STAD) the execution time, CPU consumption, and memory consumption in the VM container is displayed for applications that use the VMC. You can recognize whether applications are using the VM container by the presence of a statistics subrecord of type VMC, in which the details of the resource consumption of the application is recorded. For more information see Displaying VMC Statistics in the Workload Monitor.
· In the System Workload Monitor (transaction ST03), analogous to the SAP Workload Business Transaction Analysis, you can view details of resource consumption in the VM container, if this is being used.
The VMC is contained within the SAP kernel AS ABAP kernel and so it does not have to be installed especially . Though it does have to be activated by changing a few profile parameters. Note 854170 describes how to do this. The easiest way to determine whether the VM container is activated is described in Overview of the SAP Application Server (section Tools).
Though the VM container is a Java runtime environment, this environment does not comply with any J2EE standard. The VMC does not therefore replace the Web AS Java. Customer developments of Java functions for the VMC are not supported.
The table below lists the most important administration tasks that may have to be executed.
Task |
Description |
Set up VM container |
You can find out in the Implementation Guide for your application whether an activated VMC is necessary in the business scenarios you use. If this is the case, you can find information about activating, starting up, and operating the VM Container in Managing the VM Container and VMC Profile Parameters. |
Import urgent corrections |
Urgent corrections (outside support packages) for Java applications running in the VM container are imported in the VMC System Administration (transaction SM53). Errors occurring in the VM container itself are corrected with kernel patches together with the rest of the SAP kernel. For more information, see Importing Patches and Corrections. |
The following tasks must be done periodically:
Task |
Description |
Check memory requirement |
The VM container manages the memory for various runtime data dynamically. if necessary it cleans up the memory used by Java VMs, If this memory is too small, frequent cleanups are necessary, which slows down the execution time. The VM Overview (transaction SM52) shows an overview of the memory requirement. For more detailed information see VMC System Administration (transaction SM53). |
Check number of Java VMs |
The VM container can use up to a pre-configured maximum number of Java VMs. You cannot create just any number of Java VMs you like because the VMs require swap space from the operating system. If too few Java VMs have been configured, this may result in application terminations. In the VM Overview (transaction SM52) you can ascertain whether the VMs have been configured sufficiently. |
For more information see the documentation SAP Virtual Machine Container.
The information is kept up to date in the following notes:
· 854170 Switching on Component “VM Container”
· 863354 Administration of the component “VM Container”