vmo Command
Purpose
Manages Virtual Memory Manager tunable parameters.
Syntax
vmo [ -p| -r] [ -y ] { -o Tunable [= Newvalue] }
vmo [ -p |-r ] [ -y ] { -d Tunable }
vmo [ -p |-r ] [ -y ] -D
vmo [ -p | -r ] [ -F ] -a
vmo -h [ Tunable ]
vmo [ -F ] -L [ Tunable ]
vmo [ -F ] -x [ Tunable ]
Description
Use the vmo command to configure Virtual Memory Manager tuning parameters. This command sets or displays current or next boot values for all Virtual Memory Manager tuning parameters. This command can also make permanent changes or defer changes until the next reboot. Whether the command sets or displays a parameter is determined by the accompanying flag. The -o flag specifies both actions. It can either display the value of a parameter or set a new value for a parameter.
The Virtual Memory Manager (VMM) maintains a list of free real-memory page frames. The page frames are available to hold virtual-memory pages that are needed to satisfy a page fault. When the number of pages on the free list is less that the values that are specified by the minfree parameter, the VMM begins to steal pages to add to the free list. The VMM continues to steal pages until the free list has at least the number of pages that are specified by the maxfree parameter.
If the number of file pages (permanent pages) in memory is less than the number specified by the minperm% parameter, the VMM steals frames from either computational or file pages, regardless of repage rates. If the number of file pages is greater than the number specified by the maxperm% parameter, the VMM steals frames only from file pages. Between the two, the VMM normally only steals file pages, but if the repage rate for file pages is higher than the repage rate for computational pages, computational pages are stolen as well.
You can also modify the thresholds that are used to decide when the system is running out of paging space. The npswarn parameter specifies the number of paging-space pages available at which the system begins warning processes that paging space is low. The npskill parameter specifies the number of paging-space pages available at which the system begins stopping processes to release paging space.
- Understanding the Effect of Changing Tunable Parameters
-
Misuse of this command can cause performance degradation or operating-system failure. Before you experiment with the vmo command, familiarize yourself with both Performance overview of the Virtual Memory Manager and Enhanced JFS file system cache limit with the maxclient parameter.
Before modifying any tunable parameter, you should first carefully read about all its characteristics in the Tunable Parameters section, and follow any Refer To pointer, in order to fully understand its purpose.
You must then make sure that the Diagnosis and Tuning sections for this parameter truly apply to your situation and that changing the value of this parameter could help improve the performance of your system.
If the Diagnosis and Tuning sections both contain only "N/A", you should probably never change this parameter unless specifically directed by AIX® development.
Flags
Item | Description |
---|---|
-a | Displays current, reboot (when used with the -r option), or permanent
(when used with the -p option) values for all tunable parameters, one per line in pairs
Tunable
=
Value. For the permanent option, a value is displayed only for a parameter if its
reboot and current values are equal. Otherwise, NONE is displayed as the
value. |
-d Tunable | Resets the Tunable parameter to its default value. If a Tunable
parameter, which must be changed because it is not set to its default value, meets one or more of
the following sets of criteria, a warning message is displayed and no change is made to the parameter:
|
-D | Resets all Tunable values to their default values. If Tunables
that need to be changed because they are not set to their default values meet one or more of the
following sets of criteria, a warning message is displayed and no change is made:
|
-F | Forces display of the restricted tunable parameters when the -a, -L or -x options are specified alone on the command line to list all tunables. When the -F flag is not specified, restricted tunables are not displayed, unless these restricted tunables are specifically named with a display option. |
-h [Tunable] | Displays help about the Tunable parameter if one is specified. Otherwise, displays the vmo command usage statement. |
-L [ Tunable ] | Lists the characteristics of one or all tunables, one per line, using the
following format:
|
-o Tunable[=Newvalue] | Displays the value or sets tunable to Newvalue. If a
tunable must be changed (the specified value is different than the current value), is of type
Bosboot or Reboot, or if it is of type Incremental and its current value is
greater than the specified value, and -r is not used in combination, the tunable value is not
changed but a warning is displayed. When the -r flag is used in combination without a new
value, the nextboot value for tunable is displayed. When -p is used in combination without a
new value, a value is displayed only if the current and next boot values for the tunable are the
same. Otherwise, |
-p | When used in combination with -o, -d or -D, makes changes
apply to both current and reboot values, that is, turns on the updating of the
/etc/tunables/nextboot file in addition to the updating of the current value. These
combinations cannot be used on Reboot and Bosboot type parameters because their
current value can't be changed. When used with -a or -o without specifying a new
value, values are displayed only if the current and next boot values for a parameter are the same.
Otherwise |
-r | When the -r flag is used with the -a or -o options
without specifying a new value, the values are displayed only if the current and next boot values
for a parameter are the same. Otherwise, NONE is displayed as the value. The -r flag changes
the reboot values when it is used with the -o, -d, or -D flags. For example,
you can update the /etc/tunables/nextboot file when you use the -r flag.
If any parameter of type Bosboot is changed, the user will be prompted to run the
bosboot command. When used with the -a or the -o options without specifying a new value, next boot values for tunables are displayed instead of current values. |
-x [Tunable] | Lists characteristics of one or all tunables, one per line, using the
following (spreadsheet) format:
|
-y | Suppresses the confirmation prompt before running the bosboot command. |
If a restricted tunable parameter is changed, a warning message is displayed that indicates that a tunable of the restricted use type has been modified. If the -r or the -p option is specified, you are prompted to confirm the change. In addition, at system reboot, restricted tunables that are displayed in the /etc/tunables/nextboot file and are changed to values that are different from their default values (using a command line specifying the -r or -p option) causes an error log entry that identifies the list of these changed tunables.
- K=210
- M=220
- G=230
- T=240
- P=250
- E=260
Any change (with -o, -d or -D) to a parameter of type Mount will result in a message being displayed to warn the user that the change is only effective for future mountings.
Any change (with -o, -d or -D flags) to a parameter of type Connect will result in inetd being restarted, and a message displaying a warning to the user that the change is only effective for future socket connections.
Any attempt to change (with -o, -d or -D) a parameter of type Bosboot or Reboot without -r, will result in an error message.
Any attempt to change (with -o, -d or -D but without -r) the current value of a parameter of type Incremental with a new value smaller than the current value, will result in an error message.
- Tunable Parameters Type
-
All the tunable parameters manipulated by the tuning commands (no, nfso, vmo, ioo, raso, and schedo) have been classified into these categories:For parameters of type Bosboot, whenever a change is performed, the tuning commands automatically prompt the user to ask if they want to execute the bosboot command. For parameters of type Connect, the tuning commands automatically restart the inetd daemon.
Item Description Dynamic If the parameter can be changed at any time Static If the parameter can never be changed Reboot If the parameter can only be changed during reboot Bosboot If the parameter can only be changed by running bosboot and rebooting the machine Mount If changes to the parameter are only effective for future file systems or directory mounts Incremental If the parameter can only be incremented, except at boot time Connect If changes to the parameter are only effective for future socket connections Deprecated If changing this parameter is no longer supported by the current release of AIX. Note that the current set of parameters managed by the vmo command only includes Static, Dynamic, and Bosboot types.
- Compatibility Mode
-
When running in compatibility mode (controlled by the pre520tune attribute of sys0), reboot values for parameters, except those of type Bosboot, are not really meaningful because in this mode they are not applied at boot time. For more information, see Performance management.
In compatibility mode, you can set reboot values to tuning parameters by imbedding calls to tuning commands in scripts called during the boot sequence. Parameters of type Reboot can be set without using the -r flag, so that existing scripts continue to work.
Tunable Parameters
vmo -h <tunable_parameter_name>
Tunable | Description |
---|---|
ame_cpus_per_pool |
|
ame_maxfree_mem |
|
ame_min_ucpool_size |
|
ame_minfree_mem |
|
ame_mpsize_support |
|
ams_loan_policy |
|
force_relalias_lite |
|
kernel_heap_psize |
|
lgpg_regions |
|
lgpg_size |
|
low_ps_handling |
|
maxfree |
|
maxpin% |
|
memory_frames |
|
memplace_data |
|
memplace_mapped_file |
|
memplace_shm_anonymous |
|
memplace_shm_named |
|
memplace_stack |
|
memplace_text |
|
memplace_unmapped_file |
|
minfree |
|
minperm% |
|
nokilluid |
|
npsassert |
|
npskill |
|
npswarn |
|
numpsblks |
|
pinnable_frames |
|
relalias_percentage |
|
scrub |
|
v_pinshm |
|
vmm_default_pspa |
|
wlm_memlimit_nonpg |
|
Security
Examples
- To list the current and reboot value, range, unit, type and dependencies of all tunable
parameters managed by the vmo command, enter:
vmo -L
- To turn on and reserve 16MB large pages on a POWER4 system, enter:
vmo -o lgpg_regions=10 -o lgpg_size=16777216
This command will propose bosboot to the user, and warn that a reboot is necessary before the change will be effective.
- To display help on nokilluid, enter:
vmo -h nokilluid
- To turn on v_pinshm after the next reboot, enter:
vmo -r -o v_pinshm=1
- To permanently reset all vmo tunable parameters to default, enter:
vmo -p -D
- To list the reboot value for all virtual memory manager tuning parameters,
enter:
vmo -r -a
- To list (spreadsheet format) the current and reboot value, range, unit, type and dependencies of
all tunable parameters managed by the vmo command, enter:
vmo -x