Managing the Virtual Machine Container
(VMC)
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 are implemented in Java and which 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 (VM) to the work process, which then takes on the execution of Java application code. To do this several VMC 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 function that uses the VMC. 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 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 VMC 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 emergency corrections. 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, and so it does not have to be
installed separately. 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 runtime environment that can process Java byte codes and this environment does not comply with any J2EE standard. The VMC does not therefore replace the Web AS Java. Customer developments are not supported for the VM Container.
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
|
Import urgent corrections |
Emergency
corrections (outside support packages) for VMC applications running in the VM
container are imported in the
Errors occurring
in the VM container itself are corrected with kernel patches together with the
rest of the SAP kernel. For more information, see
|
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 VMC 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
|
Check number of VMC VMs |
The VM container
can use up to a pre-configured maximum number of VMC 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 VMs have been configured, this may result in
application terminations. In the
|
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”