Previous Topic: 6.4.3 PR/SM and LPAR

Next Topic: 7. PARAMETERS

6.4.4 Virtual Machine CPU Time vs. Linux CPU Time


The CA MICS Analyzer Option for VM/CMS provides CPU
utilization information at the VM guest level and for all
processes that executed on a Linux system.

A Linux operating system running under z/VM is a guest or
virtual machine.  For each Linux guest, CPU utilization
information is provided in z/VM account records and monitor
data.  The CA MICS Analyzer Option for VM/CMS stores this
information in the VM User Resource Accounting (VMCCMU) and
VMX User Activity Sample Data (VMXVXU) files.

 The VMCCMU file is derived from the CP accounting '01'
 record and contains the following CPU time data elements:

 CMUOTIME - Supervisor CPU Time
 CMUTTIME - Total CPU Time
 CMUVTIME - Virtual CPU Time

 The VMXVXU file is derived from VM Domain 4 Record 3 monitor
 records and contains the following CPU time data elements:

 VXUTTIME - Total CPU Time Used
 VXUVTIME - Virtual CPU Time Used

Internal Linux CPU utilization for all Linux processes that
executed on a Linux system is recorded in Domain C Record 9
monitor records generated by Velocity Software's ESALPS
product. The CA MICS Analyzer Option for VM/CMS stores this
information in the Linux Process Activity (LNXLXP) file.

The LNXLXP file contains the following CPU time data
elements:

 LXPSTIME - Linux Process System CPU Time
 LXPTTIME - Linux Process Total CPU Time
 LXPVTIME - Linux Process User CPU Time

 LXPCHSTM - Linux Child Process System CPU Time
            (LXPCHSTM is added to LXPSTIME)

 LXPCHTTM - Linux Child Process Total CPU Time
            (LXPCHTTM is added to LXPTTIME)

 LXPCHVTM - Linux Child Process User CPU Time
            (LXPCHVTM is added to LXPVTIME)

z/VM CPU Time and Internal Linux CPU Time Relationship
------------------------------------------------------

Internally, Linux does not record realistic CPU times.  For
each process, the CPU times recorded internally by Linux are
reasonably correct proportionately, but not in absolute
terms, meaning that the Linux operating system is not aware
it is sharing CPU resources with other Linux guests.  To deal
with this issue, the total CPU time of the Linux guest as
recorded by the z/VM monitor is pro-rated proportionately
across all of the processes on an interval basis. The
pro-ration is based on the CPU time Linux 'thinks' each
process used.

If you were to total LXPTTIME for all the processes in the
LNXLXP file for z/VM Linux guest for a given interval, it
'should' equal VXUTTIME in the VMXVXU file and CMUTTIME in
the VMCCMU file for the same Linux guest over the same
interval.  The intent of Velocity Software is to achieve a
100% agreement of these CPU times, but there are boundary
issues with processes crossing over interval boundaries and
other issues.  Over time their software updates continuously
get closer to achieve the 100% agreement.

The CPU time data element values in the LNXLXP file should
never be compared with the corresponding CPU time data
element values in the VMCCMU and VMXVXU files.  LXPVTIME is
roughly analogous to TCB (Task Control Block) time for a z/OS
system, and LXPSTIME is roughly analogous to z/OS SRB (System
Resource Block) time. TCB time is the CPU time used while
executing application code and SRB time is the CPU time used
executing system code called by the application code.  The
LNXLXP CPU times reflect Linux internal (system) versus
process (user) allocations and have nothing to do with the
z/VM system and user times in the VMCCMU and VMXVXU files.