vmo Command 参考

vmo Command

Purpose

       Manages Virtual Memory Manager tunable parameters.

Syntax

       vmo [ -p | -r ] { -o Tunable [= Newvalue]}

       vmo [ -p | -r ] {-d Tunable }

       vmo [ -p | -r ] -D

       vmo [ -p | -r ] -a

       vmo -h [ Tunable ]

       vmo -L [ Tunable ]

       vmo -x [ Tunable ] Note: Multiple -o, -d, -x and -L are allowed.

Description
       Note: The vmo command can only be executed by root.

       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 performs 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. These page frames are available to hold virtual-memory pages
       needed to satisfy a page fault. When the number of pages on the free list falls below that 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 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 steals only 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 killing 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 experimenting with vmo, you should be thoroughly
       familiar 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 below, 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
       -a
            Displays current, reboot (when used in conjunction with -r) or permanent (when used in conjunction with -p) value for all tunable parameters,
            one per line in pairs Tunable = Value. For the permanent option, a value is only displayed for a parameter if its reboot and current values are
            equal. Otherwise NONE is displayed as the value.
       -d Tunable
            Resets Tunable to default value. If a Tunable needs to be changed (that is, it is currently not set to its default value) and is of type
            Bosboot or Reboot, or if it is of type Incremental and has been changed from its default value, and -r is not used in combination, it will not
            be changed but a warning will be displayed instead.
       -D
            Resets all tunables to their default value. If tunables needing to be changed are of type Bosboot or Reboot, or are of type Incremental and
            have been changed from their default value, and -r is not used in combination, they won't be changed but a warning will be displayed instead.
       -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:

            NAME                      CUR    DEF    BOOT   MIN    MAX    UNIT           TYPE
                 DEPENDENCIES
            --------------------------------------------------------------------------------
            memory_frames             128K          128K                 4KB pages         S
            --------------------------------------------------------------------------------
            maxfree                   1088  1088    130    16     200K   4KB pages         D
                 minfree
                 memory_frames
            --------------------------------------------------------------------------------
            minfree                   960    960    122    8      200K   4KB pages         D
                 maxfree
                 memory_frames
            --------------------------------------------------------------------------------
            ...
            where:
                CUR = current value
                DEF = default value
                BOOT = reboot value
                MIN = minimal value
                MAX = maximum value
                UNIT = tunable unit of measure
                TYPE = parameter type: D (for Dynamic), S (for Static), R for Reboot),
                       B (for Bosboot), M (for Mount), I (for Incremental),
                       C (for Connect), and d (for Deprecated)
                DEPENDENCIES = list of dependent tunable parameters, one per line
       -o Tunable[=Newvalue]
            displays the value or sets tunable to Newvalue. If a tunable needs to be changed (the specified value is different than current value), and is
            of type Bosboot or Reboot, or if it is of type Incremental and its current value is bigger than the specified value, and -r is not used in
            combination, it will not be changed but a warning will be displayed instead.

            When -r 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 tunable are the same. Otherwise NONE is displayed as the value.
       -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 NONE is displayed as the value.
       -r
            When used in combination with -o, -d or -D, makes changes apply to reboot values, for example, turns on the updating of the
            /etc/tunables/nextboot file. If any parameter of type Bosboot is changed, the user will be prompted to run bosboot.

            When used with -a or -o 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:

            tunable,current,default,reboot,min,max,unit,type,{dtunable }
            where:
                current = current value
                default = default value
                reboot = reboot value
                min = minimal value
                max = maximum value
                unit = tunable unit of measure
                type = parameter type: D (for Dynamic), S (for Static), R (for Reboot),
                            B (for Bosboot), M (for Mount), I (for Incremental),
                            C (for Connect), and d (for Deprecated)
                dtunable = list of dependent tunable parameters

       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:
       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.

       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.

       Note that the current set of parameters managed by the vmo command only includes Static, Dynamic, and Bosboot types.

Compatibility Mode

       When running in pre-AIX 5.2 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 AIX 5.2 compatibility mode in
       the Performance management.

       In pre-AIX 5.2 compatibility mode, setting reboot values to tuning parameters continues to be achieved by imbedding calls to tuning commands in
       scripts called during the boot sequence. Parameters of type Reboot can therefore be set without the -r flag, so that existing scripts continue to
       work.

       This mode is automatically turned ON when a machine is migrated to AIX 5.2. For complete installations, it is turned OFF and the reboot values for
       parameters are set by applying the content of the /etc/tunables/nextboot file during the reboot sequence. Only in that mode are the -r and -p flags
       fully functional. For more information, see Kernel Tuning in AIX 5L Version 5.3 Performance Tools Guide and Reference.

Tunable Parameters
       cpu_scale_memp
              Purpose:
                   Determines the ratio of CPUs per-mempool. For every cpu_scale_memp CPUs, at least one mempool will be created.
              Values:
                   Default: 8

                   Range: 1 to 128 (Maximum number of CPUs)
              Diagnosis:
                   N/A
              Tuning:
                   Can be reduced to reduce contention on the mempools. Use in conjunction with the tuning of the maxperm parameter.
       data_stagger_interval
              Purpose:
                   Specifies what the staggering is that will be applied to the data section of a large-page data executable with
                   LDR_CNTRL=DATA_START_STAGGER=Y. For example, the nth large-page data process executed on a given MCM has its data section start at
                   offset (n * data_stagger_interval * 4096) % LGPSIZE.
              Values:
                   Default: 0xA1

                   Range: 0 to (LargePageSize/4096)-1.

                   Type: Dynamic
              Diagnosis:
                   N/A
       defps
              Purpose:
                   Turns on/off Deferred Page Space Allocation (DPSA) policy.
              Values:
                   Default: 1

                   Range: 0 or 1 (DPSA is on)

                   Type: Dynamic
              Diagnosis:
                   N/A
              Tuning
                   May be useful to turn off DPSA policy if you are concerned about page-space overcommitment. Having the value on reduces paging space
                   requirements.
              Refer To:
                   Choosing between LPSA and DPSA with the vmo command .
       force_relalias_lite
              Purpose:
                   If set to 0, a heuristic will be used, when tearing down an mmap region, to determine when to avoid locking the source mmapped segment.
                   This is a scalability trade-off, controlled by relalias_percentage, possibly costing more compute time used.
              Values:
                     *    Default: 0
                     *    Range: 1 or 0
              Diagnosis:
              Tuning

                   If set to 1, the source segment lock is avoided whenever possible, regardless of the value of relalias_percentage. The Default value is
                   0.
       framesets
              Purpose:
                   Specifies the number of real memory page sets per memory pool. This parameter does not exist in UP kernels.
              Values:
                     *    Default: 2
                     *    Range: 1 to 10
                     *    Type: Bosboot
              Diagnosis:
                   N/A
              Tuning
                   N/A
       htabscale
              Purpose:
                   On non-lpar machines, the hardware page frame table (PFT) is completely software controlled and its size is based on the amount of
                   memory being used. The default is to have 4 PTE's (PFT entries) for each frame of memory (sz=(M/4096)*4*16 where size of PTE is 16
                   bytes).
              Values:
                     *    Default: -1
              Diagnosis:
                   N/A
              Tuning:
                   The size can be scaled up or down via htabscale. The default value is -1 (PTE to frame ratio of 4:1). Each decrement of htabscale
                   reduces the PFT size in half. Each increment of htabscale doubles the PFT size.
       kernel_heap_psize
              Purpose:
                   Sets the default page size to use for the kernel heap. This is an advisory setting and is only valid on the 64-bit kernel. If pages of
                   the specified size cannot be allocated, the kernel heap will use pages of a different, smaller page size. 16M pages should only be used
                   for the kernel heap under high performance environments.
              Values:
                     *    Default: 4096
                     *    Range: range: 4096 or 16777216
                     *    Type: Bosboot
              Diagnosis:
                   N/A
       kernel_psize
              Purpose:
                   Specifies the page size backing the kernel segment. This setting is only valid on a 64-bit kernel on POWER4 and later processors. When
                   the kernel is backed with 16M pages, approximately 240MB of additional pinned memory is use, but performance is improved.
              Values:
                     *    Default: 0
                     *    Range: range: 0, 4096, 16777216
                     *    Type: bosboot
              Diagnosis:
                   N/A
              Tuning
                   The kernel determines the best page size if 0 is specified. 4096 and 16777216 specify page sizes in bytes.
       large_page_heap_size
              Purpose:
                   When kernel_heap_psize is set to 16M, this tunable sets the maximum amount of the kernel heap to try to back with 16M pages. After the
                   kernel heap grows beyond this amount and 16M is selected kernel_heap_psize, 4K pages will be used for the kernel heap. If this tunable
                   is set to 0, it is ignored, and no maximum is set for the amount of kernel heap that can be backed with 16M pages. This tunable should
                   only be used in very special environments where only a portion of the kernel heap needs to be backed with 16M pages.
              Values:
                     *    Default: 0
                     *    Range: 0 to MAXINT64
                     *    Type: Bosboot

              Diagnosis:
                   N/A
       lgpg_regions
              Purpose:
                   Specifies the number of pages in the large page pool. This parameter does not exist in 64-bit kernels running on non-POWER4 based
                   machines.
              Values:
                     *    Default: 0
                     *    Range: 0 - number of pages.
                     *    Type: Dynamic on DLPAR-capable systems. Bosboot on non-DLPAR systems.
              Diagnosis:
                   Using large pages improves performance in the case where there are many TLB misses and large amounts of memory is being accessed.
              Tuning
                   lpgpg_size must also be used in addition to this option.

                   vmo operations to change the number of large pages on the system may succeed partially. If a request to increase or decrease the size of
                   the pool cannot fully succeed (for example, if lgpg_regions is tuned to 0 but there are large pages in use by applications), the vmo
                   command will add or remove pages to get as close as possible to the requested number of pages. Note: If lgpg_regions is changed with the
                   -p option, the value specified will hold for the next boot, regardless of how successful the immediate action was.
              Refer To:
                   System configuration for large pages
       lgpg_size
              Purpose:
                   Specifies the size in bytes of the hardware-supported large pages used for the implementation of the large page pool. This parameter
                   does not exist in 64-bit kernels running on non-POWER4 based machines.
              Values:
                     *    Default: 0
                     *    Range: 0 or 268435456 (on non-POWER4), or 0 or 16777216 (on POWER4).
                     *    Type: Dynamic on DLPAR-capable systems. Bosboot on non-DLPAR systems.
              Diagnosis:
                   Using large pages improves performance in the case where there are many TLB misses and large amounts of memory is being accessed.
              Tuning
                   lgpg_region must of be set to a non-zero value in addition to this parameter.
              Refer To:
                   System configuration for large pages
       low_ps_handling
              Purpose:
                   Specifies the action to change the system behavior in relation to process termination during low paging space conditions.
              Values:
                     *    Default: 1
                     *    Range: 1 or 2
                     *    Type: Dynamic
              Diagnosis:
                   N/A
              Tuning
                   System out of paging space and not enough processes are getting killed. The default (value = 1) behavior is not to kill processes with
                   SIGDANGER handler. A new behavior (value = 2) will allow the system to kill youngest processes with the SIGDANGER handler. If no process
                   was found, the system will kill without the SIGDANGER handler.
       lrubucket
              Purpose:
                   Specifies the number of memory frames per bucket. The page-replacement algorithm divides real memory into buckets of frames. On systems
                   with multiple memory pools, the lrubucket parameter is per memory pool.
              Values:
                     *    Default: 131072 frames
                     *    Range: 65536 to total number of memory frames
                     *    Type: Dynamic
              Diagnosis:
                   N/A

              Tuning
                   Tuning this parameter is not recommended on most systems. Instead of scanning every frame in the system looking for a free frame, the
                   page replacement algorithm scans through the contents of a bucket and scans the same bucket for the second pass before going on to the
                   next bucket.
              Refer To:
                   Reduce memory scanning overhead with lrubucket parameter.
       maxclient%
              Purpose:
                   Specifies maximum percentage of RAM that can be used for caching client pages. Similar to maxperm% but cannot be bigger than maxperm%.
              Values:
                     *    Default: 90
                     *    Range: 1 to 100%.
                     *    Type: Dynamic
              Diagnosis:
                   If J2 file pages or NFS pages are causing working storage pages to get paged out, maxclient can be reduced.
              Tuning
                   Decrease the value of maxclient if paging out to paging space is occurring due to too many J2 client pages or NFS client pages in
                   memory. Increasing the value can allow more J2 or NFS client pages to be in memory before page replacement starts.
              Refer To:
                   Maximum caching of file data tuning and Enhanced JFS file system cache limit with the maxclient parameter.
       maxfree
              Purpose:
                   Specifies the number of frames on the free list at which page-stealing is to stop.
              Values:
                     *    Default: 1088
                     *    Range: 16 to 204800
                     *    Type: Dynamic
              Diagnosis:
                   Observe free-list-size changes with vmstat n.
              Tuning
                   If vmstat n shows free-list size frequently driven below minfree by application demands, increase maxfree to reduce calls to replenish
                   the free list. Setting the value too high causes page replacement to run for a longer period of time. Value must be at least 8 greater
                   than minfree
              Refer To:
                   Values for minfree and maxfree parameters.
       maxperm%
              Purpose:
                   Specifies the point above which the page-stealing algorithm steals only file pages.
              Values:
                     *    Default: total number of memory frames * 0.9
                     *    Range: 1 to 100
                     *    Type: Dynamic
              Diagnosis:
                   Monitor disk I/O with iostat n.
              Tuning
                   This value is expressed as a percentage of the total real-memory page frames in the system. Reducing this value may reduce or eliminate
                   page replacement of working storage pages caused by high number of file page accesses. Increasing this value may help NFS servers that
                   are mostly read-only. For example, if some files are known to be read repetitively, and I/O rates do not decrease with time from
                   startup, maxperm may be too low.
              Refer To:
                   Values for minfree and maxfree parameters.
       maxpin%
              Purpose:
                   Specifies the maximum percentage of real memory that can be pinned.
              Values:
                     *    Default: 80 percent
                     *    Range: 1 to 99
                     *    Type: Dynamic

              Diagnosis:
                   Cannot pin memory, although free memory is available.
              Tuning
                   If this value is changed, the new value should ensure that at least 4 MB of real memory will be left unpinned for use by the kernel. The
                   maxpin values must be greater than one and less than 100. Change this parameter only in extreme situations, such as maximum-load
                   benchmarking.
       memory_affinity
              Purpose:
                   This parameter has been deprecated starting with the December 2004 update to AIX 5L Version 5.3. The memplace_* parameters can be used
                   instead to tune memory placement policies for various user memory objects.
              Values:
                     *    Default: 1
                     *    Range: N/A
                     *    Type: Deprecated
              Diagnosis:
                   N/A
              Tuning
                   N/A
       memplace_data
              Purpose:
                   This parameter is used to specify the default memory placement policy for data. Data refers to : data of the main executable
                   (initialized data, BSS), heap, shared library data, and data of object modules loaded at runtime. Data placement can be set to First
                   Touch (1) or Striped (2).

                   First Touch means that the memory is allocated in the affinity domain where it is first accessed. Striped means that the memory is
                   allocated in a round-robin fashion across the system affinity domains.

                   Changes only apply to new processes. Memory objects of existing processes will still have the policies existing at the time the memory
                   object was created.
              Values:
                     *    Default: 1 (First Touch)
                     *    Range: 1..2
                     *    Type: Dynamic
              Diagnosis:
                   N/A
              Tuning
                   N/A
       memplace_mapped_file
              Purpose:
                   This parameter is used to specify the default memory placement policy for files that are mapped into the address space of a process
                   (such as through shmat() and mmap()). Default placement of memory mapped files can be set to First Touch (1) or Striped (2).

                   First Touch means that the memory is allocated in the affinity domain where it is first accessed. Striped means that the memory is
                   allocated in a round-robin fashion across the system affinity domains.

                   Changes only apply to new processes. Memory objects of existing processes will still have the policies existing at the time the memory
                   object was created.
              Values:
                     *    Default: 2 (Striped)
                     *    Range: 1..2
                     *    Type: Dynamic
              Diagnosis:
                   N/A
              Tuning
                   N/A
       memplace_shm_anon
              Purpose:
                   This parameter is used to specify the default memory placement policy for anonymous shared memory. Anonymous shared memory refers to
                   working storage memory, created using shmget() or mmap(), that can be accessed only by the creating process or its descendants. This

                   memory is not associated with a name (or key). Default placement of anonymous shared memory can be set to First Touch (1) or Striped
                   (2).

                   First Touch means that the memory is allocated in the affinity domain where it is first accessed. Striped means that the memory is
                   allocated in a round-robin fashion across the system affinity domains.

                   Changes only apply to new processes. Memory objects of existing processes will still have the policies existing at the time the memory
                   object was created.
              Values:
                     *    Default: 2 (Striped)
                     *    Range: 1..2
                     *    Type: Dynamic
              Diagnosis:
                   N/A
              Tuning
                   N/A
       memplace_shm_named
              Purpose:
                   This parameter is used to specify the default memory placement policy for named shared memory. Named shared memory refers to working
                   storage memory, created using shmget() or shm_open(), which is associated with a name (or key) that allows more than one process to
                   access it simultaneously. Default placement of named shared memory can be set to First Touch (1) or Striped (2).

                   First Touch means that the memory is allocated in the affinity domain where it is first accessed. Striped means that the memory is
                   allocated in a round-robin fashion across the system affinity domains.

                   Changes only apply to new processes. Memory objects of existing processes will still have the policies existing at the time the memory
                   object was created.
              Values:
                     *    Default: 2 (Striped)
                     *    Range: 1..2
                     *    Type: Dynamic
              Diagnosis:
                   N/A
              Tuning
                   N/A
       memplace_stack
              Purpose:
                   This parameter is used to specify the default memory placement policy for the program stack. Stack placement can be set to First Touch
                   (1) or Striped (2).

                   First Touch means that the memory is allocated in the affinity domain where it is first accessed. Striped means that the memory is
                   allocated in a round-robin fashion across the system affinity domains.

                   Changes only apply to new processes. Memory objects of existing processes will still have the policies existing at the time the memory
                   object was created.
              Values:
                     *    Default: 1 (First Touch)
                     *    Range: 1..2
                     *    Type: Dynamic
              Diagnosis:
                   N/A
              Tuning
                   N/A
       memplace_text
              Purpose:
                   This parameter is used to specify the default memory placement policy for application text. It applies only to text of the main
                   executable and not to its dependencies. Text placement can be set to First Touch (1) or Striped (2).

                   First Touch means that the memory is allocated in the affinity domain where it is first accessed. Striped means that the memory is

                   allocated in a round-robin fashion across the system affinity domains.

                   Changes only apply to new processes. Memory objects of existing processes will still have the policies existing at the time the memory
                   object was created.
              Values:
                     *    Default: 1 (First Touch)
                     *    Range: 1..2
                     *    Type: Dynamic
              Diagnosis:
                   N/A
              Tuning
                   N/A
       memplace_unmapped_file
              Purpose:
                   This parameter is used to specify the default memory placement policy for unmapped file access, such as through read() or write().
                   Default placement of unmapped file access can be set to First Touch (1) or Striped (2).

                   First Touch means that the memory is allocated in the affinity domain where it is first accessed. Striped means that the memory is
                   allocated in a round-robin fashion across the system affinity domains.

                   Changes only apply to new processes. Memory objects of existing processes will still have the policies existing at the time the memory
                   object was created.
              Values:
                     *    Default: 2 (Striped)
                     *    Range: 1..2
                     *    Type: Dynamic
              Diagnosis:
                   N/A
              Tuning
                   N/A
       mempools
              Purpose:
                   This parameter has been deprecated. The cpu_scale_memp parameter can be used instead to partially determine the number of mempools that
                   are used.
              Values:
                     *    Default: 1
                     *    Range: N/A
                     *    Type: Deprecated
              Diagnosis:
                   N/A
              Tuning
                   N/A
              Refer To:
                   Memory pools.
       minfree
              Purpose:
                   Specifies the minimum number of frames on the free list at which the VMM starts to steal pages to replenish the free list.
              Values:
                     *    Default: 960
                     *    Range: 8 to 204800
                     *    Type: Dynamic
              Diagnosis:
                   vmstat n
              Tuning
                   Page replacement occurs when the number of free frames reaches minfree. If processes are being delayed by page stealing, increase
                   minfree to improve response time. The difference between minfree and maxfree should always be equal to or greater than maxpgahead.
              Refer To:
                   Values for minfree and maxfree parameters.

       minperm%
              Purpose:
                   Specifies the point below (in percentage of total number of memory frames) which the page-stealer will steal file or computational pages
                   regardless of repaging rates.
              Values:
                     *    Default: 3 percent
                     *    Range: 1 to 100.
                     *    Type: Dynamic
              Diagnosis:
                   Monitor disk I/O with iostat n.
              Tuning
                   Can be useful to decrease this parameter if large number of file pages in memory is causing working storage pages to be replaced. If
                   some files are known to be read repetitively, and I/O rates do not decrease with time from startup, minperm may be too low.
              Refer To:
                   Values for minperm and maxperm parameters.
       nokilluid
              Purpose:
                   User IDs lower than this value are exempt from getting killed due to low page-space conditions.
              Values:
                     *    Default: 0 (off)
                     *    Range: Any positive integer.
                     *    Type: Dynamic
              Diagnosis:
                   N/A
              Tuning
                   System out of paging space and system administrator's processes are getting killed. Set to 1 in order to protect specific user ID
                   processes from getting killed due to low page space or ensure there is sufficient paging space available.
              Refer To:
                   Values for the npswarn and npskill parameters
       npskill
              Purpose:
                   Specifies the number of free paging-space pages at which the operating system begins killing processes.
              Values:
                     *    Default: MAX (64, number of paging space pages/128).
                     *    Range: 0 to total number of paging space pages on the system .
                     *    Type: Dynamic
              Diagnosis:
                   N/A
              Tuning
                   Increase the value if you experience processes being killed because of low paging space.
              Refer To:
                   Values for the npswarn and npskill parameters
       npsrpgmax
              Purpose:
                   Specifies the number of free paging space blocks at which the Operating System stops freeing disk blocks on pagein of Deferred Page
                   Space Allocation Policy pages.
              Values:
                     *    Default: MAX(1024, npswarn*2).
                     *    Range: 0 to total number of paging space blocks in the system.
              Diagnosis:
                   N/A
              Tuning:
                   N/A
       npsrpgmin
              Purpose:
                   Specifies the number of free paging space blocks at which the Operating System starts freeing disk blocks on pagein of Deferred Page
                   Space Allocation Policy pages.
              Values:

                     *    Default: MAX(768, npswarn+(npswarn/2)).
                     *    Range: 0 to total number of paging space blocks in the system.
              Diagnosis:
                   N/A
              Tuning:
                   N/A
       npsscrubmax
              Purpose:
                   Specifies the number of free paging space blocks at which the Operating System stops Scrubbing in memory pages to free disk blocks from
                   Deferred Page Space Allocation Policy pages.
              Values:
                     *    Default: MAX(1024, npsrpgmax).
                     *    Range: 0 to total number of paging space blocks in the system.
              Diagnosis:
                   N/A
              Tuning:
                   N/A
       npsscrubmin
              Purpose:
                   Specifies the number of free paging space blocks at which the Operating System starts Scrubbing in memory pages to free disk blocks from
                   Deferred Page Space Allocation Policy pages.
              Values:
                     *    Default: MAX(768, npsrpgmin).
                     *    Range: 0 to total number of paging space blocks in the system.
              Diagnosis:
                   N/A
              Tuning:
                   N/A
       npswarn
              Purpose:
                   Specifies the number of free paging-space pages at which the operating system begins sending the SIGDANGER signal to processes.
              Values:
                     *    Default: MAX (512, 4*npskill)
                     *    Range: 0 to total number of paging space pages on the system.
                     *    Type: Dynamic
              Diagnosis:
                   N/A
              Tuning:
                   Increase the value if you experience processes being killed because of low paging space.
              Refer To:
                   Values for the npswarn and npskill parameters
       num_spec_dataseg
              Purpose:
                   Reserve special data segment IDs for use by processes executed with the environment variable DATA_SEG_SPECIAL=Y. These data segments are
                   assigned so that the hardware page table entries for pages within these segments are better distributed in the cache to reduce cache
                   collisions. As many are reserved as possible up to the requested number. Running vmo -a after reboot displays the actual number
                   reserved. This parameter is only supported in 64-bit kernels running on POWER4 based machines.
              Values:
                     *    Default: 0
                     *    Range: 0 or a positive number
                     *    Type: Bosboot
              Diagnosis:
                   N/A
              Tuning
                   The correct number to reserve depends on the number of processes run simultaneously with DATA_SEG_SPECIAL=Y and the number of data
                   segments used by each of these processes.
       page_steal_method
              Purpose:

                   Selects virtual memory page replacement policies.
              Values:
                     *    Default: 1
                     *    Range: 0 or 1. 0 applies to WLM and non-WLM page replacement. For 0, the pager scans pages by physical address. For 1, the pager
                          scans pages from lists by class (for WLM) or by mempool (for non-WLM).
                     *    Type: Bosboot
       pagecoloring
              Purpose:
                   Turns on or off page coloring in the VMM. This parameter is not supported in 64-bit kernels.
              Values:
                     *    Default: 0 (off)
                     *    Range: 0 or 1.
                     *    Type: Bosboot
              Diagnosis:
                   N/A
              Tuning
                   This parameter is useful for some applications that run on machines that have a direct mapped cache.
       pta_balance_threshold
              Purpose:
                   Specifies the point at which a new pta segment will be allocated. This parameter does not exists in 64-bit kernels.
              Values:
                     *    Default: pta segment size * 0.5
                     *    Range: 1 to 99.
                     *    Type: Dynamic
              Diagnosis:
                   System would crash from a dsi (abend code 300) with a stack similar to the following:

                     findsrval64()
                     shmforkws64()
                     shmforkws()
                     procdup()
                     kforkx()
                     kfork()
                   Dump investigation would show that the pta segment is full for the page which generated the page fault.
              Tuning
                   Tuning the pta balancing threshold lower will cause new pta segments to be allocated earlier, thereby reducing the chance that a pta
                   segment will fill up and crash the system. If possible, a better solution would be to move to the 64-bit kernel which does not have this
                   potential problem.
       relalias_percentage
              Purpose:
                   If force_relalias_lite is set to 0, then this specifies the factor used in the heuristic to decide whether to avoid locking the source
                   mmapped segment or not.
              Diagnosis:
                   N/A
              Tuning:
                   This is used when tearing down an mmapped region and is a scalability statement, where avoiding the lock may help system throughput,
                   but, in some cases, at the cost of more compute time used. If the number of pages being unmapped is less than this value divided by 100
                   and multiplied by the total number of pages in memory in the source mmapped segment, then the source lock will be avoided. A value of 0
                   for relalias_percentage, with force_relalias_lite also set to 0, will cause the source segment lock to always be taken. The Default
                   value is 0. Effective values for relalias_percentage will vary by workload, however, a suggested value is: 200.
       rpgclean
              Purpose:
                   Enables or Disables freeing paging space disk blocks of Deferred Page Space Allocation Policy pages on read accesses to them.
              Values:
                     *    Default: 0, free paging space disk blocks only on pagein of pages that are being modified.
                     *    Range: 1, free paging space disk blocks on pagein of a page being modified or accessed (read).
              Diagnosis:
                   N/A

              Tuning:
                   N/A
       rpgcontrol
              Purpose:
                   Enables or Disables freeing of paging space disk blocks at pagein of Deferred Page Space Allocation Policy pages.
              Values:
                     *    Default: 1, enables freeing of paging space disk blocks when the number of system free paging space blocks is below npsrpgmin,
                          and continues until above npsrpgmax.
                     *    Range: 0-2,

                          0 disables freeing of paging space disk blocks on pagein.

                          2, always enables freeing of paging space disk blocks on pagein, regardless of thresholds.
              Diagnosis:
                   N/A
       scrub
              Purpose:
                   Enables or Disables freeing of paging space disk blocks from pages in memory for Deferred Page Space Allocation Policy pages.
              Values:
                     *    Default: 0, disables scrubbing completely.
                     *    Range: 0-1,

                          1 enables scrubbing of in memory paging space disk blocks when the number of system free paging space blocks is below
                          npsscrubmin, and continues until above npsscrubmax.
              Diagnosis:
              Tuning:
       scrubclean
              Purpose:
                   Enables or Disables freeing paging space disk blocks of Deferred Page Space Allocation Policy pages in memory that are not modified.
              Values:
                     *    Default: 0,

                          Free paging space disk blocks only for modified pages in memory.
                     *    Range: 0-1,

                          1, Free paging space disk blocks for modified or unmodified pages.
              Diagnosis:
              Tuning:
       soft_min_lgpgs_vmpool
              Purpose:
                   When soft_min_lgpgs_vmpool is non-zero, large pages will not be allocated from a vmpool that has fewer than soft_min_lgpgs_vmpool % of
                   its large pages free. If all vmpools have less than soft_min_lgpgs_vmpool % of their large pages free, allocations will occur as normal.
              Values:
                     *    Default: 0
                     *    Range: range: 0 to 90
                     *    Type: Dynamic
              Diagnosis:
                   N/A
       spec_dataseg_int
              Purpose:
                   Modify the interval between the special data segment IDs reserved with num_spec_dataseg. This parameter is only supported in 64-bit
                   kernels running on POWER4 based machines.
              Values:
                     *    Default: 512
                     *    Range: 1 to any positive integer
                     *    Type: Bosboot
              Diagnosis:
                   N/A

              Tuning
                   Generally, for processes executed with DATA_SEG_SPECIAL=Y, the more pages of the data segment they all access, the higher this value
                   should be to optimize performance. Values that are too high, however, limit the number of special segment IDs that can be reserved. The
                   performance impact is highly dependent on the hardware architecture as well as the application behavior and different values may be
                   optimal for different architectures and different applications.
       strict_maxclient
              Purpose:
                   If set to 1, the maxclient value will be a hard limit on how much of RAM can be used as a client file cache.
              Values:
                     *    Default: 1 (on)
                     *    Range: 0 or 1.
              Diagnosis:
                   N/A
              Tuning:
                   Set to 0 in order to make the maxclient value a soft limit if client pages are being paged out when there are sufficient free pages. Use
                   in conjunction with the tuning of the maxperm and maxclient parameters.
       vmm_mpsize_support
              Purpose:
                   Toggles AIX 64-bit kernel multiple page size support for the extra page sizes provided by POWER5+ and later machines. This has no effect
                   on previous support of 4K or large size pages, and on machines with processors that do not support extra page sizes.
              Values:
                     *    Default: 1

                          AIX takes advantage of the extra page sizes supported by the processor.
                     *    Range: 0 or 1

                          When set to 0,AIX only recognize are 4K page size and the system's large page size.
       strict_maxperm
              Purpose:
                   If set to 1, the maxperm value will be a hard limit on how much of RAM can be used as a persistent file cache.
              Values:
                     *    Default: 0 (off)
                     *    Range: 0 or 1.
                     *    Type: Dynamic
              Diagnosis:
                   Excessive page outs to page space caused by too many file pages in RAM.
              Tuning
                   Set to 1 in order to make the maxperm value a hard limit (use in conjunction with the tuning of the maxperm parameter).
              Refer To:
                   Persistent file cache limit with the strict_maxperm option.
       v_pinshm
              Purpose:
                   If set to 1, will allow pinning of shared memory segments.
              Values:
                     *    Default: 0 (off)
                     *    Range: 0 or 1.
                     *    Type: Dynamic
              Diagnosis:
                   Change when there is too much overhead in pinning or unpinning of AIO buffers from shared memory segments.
              Tuning
                   Useful only if application also sets SHM_PIN flag when doing a shmget call and if doing async I/O from shared memory segments.
              Refer To:
                   Pinned shared memory for database.
       vm_modlist_threshold
              Purpose:
                   Determines whether to keep track of dirty file pages.
              Values:
                     *    Default: -1

                     *    Range: -2 to any positive integer
                     *    Type: Dynamic
              Diagnosis:
                   N/A
              Tuning:
                   Special values:

                   -2: Never keep track of modified pages. This provides the same behavior as on a system prior to AIX 5.3

                   -1: Keep track of all modified pages.

                   Other values:

                   >= 0: Keep track of all dirty pages in a file if the number of frames in memory at full sync time is greater than or equal to
                   vm_modlist_threshold. This parameter can be modified at any time, changing the behavior of a running system. In general, a new value
                   will not be seen until the next full sync for the file. A full sync occurs when the VW_FULLSYNC flag is used or all pages in the file
                   (from 0 to maxvpn) are written to disk.
       vmm_mpsize_support
              Purpose:
                   Toggles AIX 64-bit kernel multiple page size support for the extra page sizes provided by POWER5+ and later machines. This has no effect
                   on previous support of 4K or large size pages, and on machines with processors that do not support extra page sizes.
              Values:
                     *    Default: 1

                          AIX takes advantage of the extra page sizes supported by the processor.
                     *    Range: 0 or 1

                          When set to 0,AIX only recognize are 4K page size and the system's large page size.
       wlm_page_steal_byclass
              Purpose:
                   Selects Virtual Memory Page Replacement policy when the Workload Manager (WLM) is on. If set to 1, the WLM scans pages from lists by
                   Class. If set to 0, the Workload Manager scans pages by Physical Address.
              Values:
                     *    Default: 1
                     *    Range: 0-1
                     *    Type: Bosboot
              Diagnosis:
                   N/A
              Tuning:
                   N/A
Examples
       1    To list the current and reboot value, range, unit, type and dependencies of all tunable parameters managed by the vmo command, type:

            vmo -L
       2    To turn on and reserve 16MB large pages on a POWER4 system, type:

            vmo -r -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. Note: The -r flag (and
            subsequent reboot) is not necessary for AIX 5.3 and later releases.
       3    To display help on nokilluid, type:

            vmo -h nokilluid
       4    To turn on v_pinshm after the next reboot, type:

            vmo -r -o v_pinshm=1
       5    To permanently reset all vmo tunable parameters to default, type:

            vmo -p -D

       6    To list the reboot value for all virtual Memory Manager tuning parameters, type:

            vmo -r -a
       7    To list (spreadsheet format) the current and reboot value, range, unit, type and dependencies of all tunable parameters managed by the vmo
            command, type:

            vmo -x

Related Information

       The ioo command, schedo command, no command, nfso command, raso command, tunchange command, tunsave command, tunrestore command, tuncheck command,
       and tundefault command.

       Performance Overview of the Virtual Memory Manager (VMM) in Performance management

       Kernel Tuning in AIX 5L Version 5.3 Performance Tools Guide and Reference.

       AIX 5.2 compatibility mode in the Performance management.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值