Latest issues
Operating Systems
Home >
Operating Systems > Cooperative Memory Management for Linux Guests on z/VM
 SUB DEPTS
Print this article

< Previous Page 1 2 3 4 Next Page >
subscribe to z/Journal today!

Cooperative Memory Management for Linux Guests on z/VM



by Dave Jones
April 8, 2008

To make matters more confusing, IBM has recently introduced a followon approach to memory management and storage overcommitment called Collaborative Memory Management Assist (CMMA). While CMM, now sometimes referred to as CMM-1, is a software-only approach to managing Linux memory usage under z/VM (requiring only that a resource manager such as VMRM and the Linux CMM driver be installed), CMMA adds new hardware functions to the IBM System z9 Enterprise Class (z9 EC) and System z9 Business Class (z9 BC) processors. This new hardware support, Host Page- Management Assist (HPMA), announced July 27, 2005, lets both Linux guests and CP modify and track the usage state of each 4KB page being used by Linux guests. This exchange of page state information lets z/VM CP and its guests optimize their use and management of memory.

With CMMA, CP can determine when a Linux application releases storage and can select those pages for removal at a higher priority, or reclaim the page frames without the overhead of paging-out their data content to expanded storage or disk. CP also now recognizes “clean” disk cache pages (pages whose contents Linux can reconstruct), allowing it to bypass paging-out that data when reclaiming the backing frames for these pages.

Prerequisites to use CMMA are:

• z/VM 5.2 with APAR VM63856 applied or z/VM

• z9 EC or z9 BC processors or newer. CMM-1 and CMMA can be deployed simultaneously if all CMMA prerequisites are met.

Configuring VMRM for CMM

To support the CMM function, VMRM supports a “NOTIFY” statement with a MEMORY keyword in its configuration file, listing the Linux guest image names to be notified when the resource manager detects memory constraint:

nOTiFY memORY user1 [user2…..userx]

where:

• NOTIFY is the type of statement

• MEMORY is the system object being managed

• User1….userx is the list of blank- delimited userids to be managed; userids may contain a wildcard “*” character at the end, such as “linux*”.

Examples:

nOTiFY memORY LnX00080 LnX00081 LnX00082 LnX00083 LnX00084 nOTiFY memORY LnX0008*

Configuring Linux for CMM CMM support is available as a module, cmm, or as a built-in kernel component. If the CMM component has been compiled into the kernel, it can be configured adding parameters to the kernel parameter line:

cmm.sender=VmRmSVm

or

cmm.sender=<guest name>

where <guest name> is the name of the z/VM guest that’s allowed to send messages to the module through the SMSG interface. The default guest name is VMRMSVM, which is the default name of the VMRM Service Virtual Machine (SVM).

If CMM support is compiled as a loadable kernel module, use the insmod or modprobe command to load the module. For example, to load the CMM module and let the guest TESTID send messages, issue this Linux command:
< Previous Page 1 2 3 4 Next Page >
This article has no comments. Be the first to comment!
 COMMENT ENTRY
Name:
Email:
Location:
Website:
Comments:
Remember my personal information
Notify me of follow-up comments?
Please enter the word
you see in the image below:
   
 SPONSORS
 SEARCH DEPTS
 MAINFRAME JOBS
Mainframe Programmer (CACS) Collections
USAA:A/c,IT,Marketing,Other
San Antonio, TX, US
Mainframe Programmer
General Dynamics Information Technology
Towson, MD, US
Mainframe Programmer
TSR Consulting Services, Inc.
New York, NY, US
Mainframe Programmer
HP
Baltimore, MD, US
Mainframe Developer (Cobol, PL1, JCL)
USAA:A/c,IT,Marketing,Other
San Antonio, TX, US
Mainframe System Programmer
General Dynamics - IT
San Mateo, CA, US
Mainframe System Programmer
General Dynamics - IT
Eagan, MN, US
Technical Associate - Mainframe Programmer
Charles Schwab
Phoenix, AZ, US
Mainframe Computer Operator
100-DST Systems, Inc.
Kansas City, MO, US