Basic configuration file for memory control
![]()
For Linux® on z/VM®, you can also use cpuplugd to dynamically add or take away memory. There are several required specifications for memory control.
UPDATE="10"
CMM_MIN="0"
CMM_MAX="131072" # 512 MB
CMM_INC="10240" # 40 MB
MEMPLUG = "swaprate > 250"
MEMUNPLUG = "swaprate < 10"
- UPDATE
- specifies the time interval, in seconds, at which cpuplugd evaluates the rules and, if a rule is
met, adds or removes memory. This variable is also required for controlling CPUs.
In the example, the rules are evaluated every 10 seconds.
- CMM_MIN
- specifies the minimum amount of memory, in 4 KB pages, that Linux surrenders to the CMM static page pool. Even if the
MEMPLUG rule for taking memory from the CMM static page pool and adding it to Linux is met, cpuplugd does not decrease this amount.
In the example, the amount of memory that is surrendered to the static page pool can be reduced to 0.
- CMM_MAX
- specifies the maximum amount of memory, in 4 KB pages, that Linux surrenders to the CMM static page pool. Even if the
MEMUNPLUG rule for removing memory from Linux and adding it
to the CMM static page pool is met, cpuplugd does not increase this amount.
In the example, the amount of memory that is surrendered to the static page pool cannot become more than 131072 pages of 4 KB (512 MB).
- CMM_INC
- specifies the amount of memory, in 4 KB pages, that is removed from Linux when the MEMUNPLUG rule is met. Removing memory from Linux increases the amount that is surrendered to the CMM
static page pool.
In the example, the amount of memory that is removed from Linux is 10240 pages of 4 KB (40 MB) at a time.
- CMM_DEC
- Optional: specifies the amount of memory, in 4 KB pages, that is added to Linux when the MEMPLUG rule is met. Adding memory to Linux decreases the amount that is surrendered to the CMM
static page pool.
If this variable is omitted, the amount of memory that is specified for CMM_INC is used.
In the example, CMM_DEC is omitted and the amount of memory added to Linux is 10240 pages of 4 KB (40 MB) at a time, as specified with CMM_INC.
- MEMPLUG
- specifies the rule for dynamically adding memory to Linux. The rule resolves to a boolean true or false. Each time this rule is true, cpuplugd adds the
number of pages that are specified by CMM_DEC, unless the CMM static page pool already reached the
minimum that is specified with CMM_MIN.
Setting MEMPLUG to
0disables dynamically adding memory to Linux.In the example, memory is added to Linux if there are more than 250 swap operations per second.
- MEMUNPLUG
- specifies the rule for dynamically removing memory from Linux. The rule resolves to a boolean true or false. Each time
this rule is true, cpuplugd removes the number of pages that are specified by CMM_INC, unless the
CMM static page pool already reached the maximum that is specified with CMM_MAX.
Setting MEMUNPLUG to
0disables dynamically removing memory from Linux.In the example, memory is removed from Linux when there are less than 10 swap operations per second.
If any of these variables are set more than once, only the last occurrence is used. These variables are not case-sensitive.
If both the MEMPLUG and MEMUNPLUG rule are met simultaneously, MEMUNPLUG is ignored.
CMM_DEC and CMM_INC can be set to a decimal number or to a mathematical expression that uses the same algebraic operators and variables as the MEMPLUG and MEMUNPLUG hotplug rules.