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.
The configuration file sample of Figure 1 was reduced to the specifications that are required for dynamic memory control.
- 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 (see Basic configuration file for CPU control).
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 (see Cooperative memory management background). 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 (see Cooperative memory management background). 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
0
disables dynamically adding memory to Linux.In the example, memory is added to Linux if there are more than 250 swap operations per second. See Keywords for memory hotplug rules for information about available keywords.
- 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 specified by CMM_INC, unless the CMM static
page pool already reached the maximum that is specified with CMM_MAX.
Setting MEMUNPLUG to
0
disables dynamically removing memory from Linux.In the example, memory is removed from Linux when there are less than 10 swap operations per second. See Keywords for memory hotplug rules for information about available keywords.
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.