VM Resource Manager Cooperative Memory Management (VMRM-CMM)
VMRM-CMM between a z/VM® system and Linux® guests assists in managing memory constraint in the system.
Based on several variables obtained from the System and Storage domain CP monitor data, the VMRM detects when there is constraint and notifies specific Linux virtual guests when this occurs. The guests can then take the appropriate action to adjust their memory utilization in order to relieve the constraint on the system.
A user-defined VMRM configuration file is used to identify which guests should be notified. These guests must be prepared to handle the data being sent in the notification and take appropriate action, such as issuing a CP Diagnose instruction to release pages of storage.
- A new NOTIFY statement with a MEMORY keyword is supported in the VMRM configuration file. Following the keyword is a user ID or a list of user IDs to be notified when virtual memory becomes constrained. (For the format of this statement, see z/VM 5.3 CP Commands and Utilities, SC24-6081 and z/VM 5.3 Performance, SC24-6109.)
- System and Storage domains are monitored for data to be used for calculating memory constraint as well as how much memory to request that the guest machine release.
- The VMRM issues a CP SMSG to notify the specified guests when memory is constrained as well as the amount required to release in order to relieve the constraint. (For the format of the CP SMSG buffer, see z/VM 5.3 CP Commands and Utilities, SC24-6081 and z/VM 5.3 Performance, SC24-6109.)
- A message is logged in the VMRM log file, which indicates which users were sent an SMSG and the text of the SMSG buffer. Also, if MSGUSER is specified on the VMRM ADMIN statement, the same message written to the log is written to the MSGUSER user ID's console as well.
Once a system memory constraint has been detected, VMRM calculates how much memory each Linux guest should release to relieve the constraint. Using the SHRINK keyword on the SMSG command, a message indicating the amount of storage to release is sent to each logged on Linux guest in the notify list.
When system memory is no longer constrained, another SHRINK message with a smaller absolute value is issued. A smaller SHRINK request than the previous one effectively instructs the guest to reclaim some of the storage previously released.
NOTIFY MEMORY LNX00080 LNX00081 LNX00082 LNX00083 LNX00084
or NOTIFY MEMORY LNX0008*
ADMIN MSGUSER MAINT
This
statement causes VMRMSVM messages to be sent to the MAINT user ID.The "*" acts as a wild card. After creating the configuration file on the VMRMSVM A-disk we logged off VMRMSVM and issued an xautolog VMRMSVM from MAINT to start the VMRM server.
To stop the VMRMSVM server, log on to VMRMSVM and issue the command HMONITOR.
modprobe cmm