slowscan
| Description | Minimum number of pages
per second that the system looks at when attempting to reclaim memory.
| | Data Type | Signed integer
| | Default | The smaller of 1/20th of
physical memory in pages and 100.
| | Range | 1 to fastscan
/ 2
| | Units | Pages
| | Dynamic? | Yes, unless dynamic reconfiguration
operations that add or delete memory occur. At that point, the value is reset
to whatever was provided in the /etc/system file or was
calculated from the new physical memory value.
| | Validation | If slowscan is larger than fastscan / 2, slowscan is reset to fastscan / 2. No message is displayed.
| | When to Change | When more aggressive
scanning of memory is desired during periods of memory shortfall especially
if the system is subject to periods of intense memory demand.
| | Commitment Level | Unstable
|
min_percent_cpu
| Description | Minimum percentage of
CPU that pageout can consume. This variable is used as
the starting point for determining the maximum amount of time that can be
consumed by the page scanner.
| | Data Type | Signed integer
| | Default | 4
| | Range | 1 to 80
| | Units | Percentage
| | Dynamic? | Yes
| | Validation | None
| | When to Change | Increasing this value
on systems with multiple CPUs and lots of memory, which are subject to intense
periods of memory demand, enables the pager to spend more time attempting
to find memory.
| | Commitment Level | Unstable
|
handspreadpages
| Description | The Solaris environment
uses a two-handed clock algorithm to look for pages that are candidates for
reclaiming when memory is low. The first hand of the clock walks through memory
marking pages as unused. The second hand walks through memory some distance
after the first hand, checking to see if the page is still marked as unused.
If so, the page is subject to reclaim. The distance between the front hand
and the back hand is handspreadpages.
| | Data Type | Unsigned long
| | Default | fastscan
| | Range | 1 to maximum number of physical
memory pages on the system
| | Units | Pages
| | Dynamic? | Yes. This parameter requires
that the kernel variable reset_hands also be set to a non-zero
value. Once the new value of handspreadpages has been recognized, reset_hands is set to zero.
| | Validation | Set to lesser of the
amount of physical memory and the handspreadpages value
| | When to Change | When you want the
amount of time that pages are potentially resident before reclaim is increased.
Increasing this value increases the separation between the hands, and therefore,
the amount of time before a page can be reclaimed.
| | Commitment Level | Unstable
|
pages_before_pager
| Description | Part of a system threshold
that immediately frees pages after an I/O completes instead of storing the
pages for possible reuse. The threshold is lotsfree + pages_before_pager. The NFS environment also uses this threshold to curtail its asynchronous
activities as memory pressure mounts.
| | Data Type | Signed integer
| | Default | 200
| | Range | 1 to amount of physical memory
| | Units | Pages
| | Dynamic? | No
| | Validation | None
| | When to Change | When the majority
of I/O is done for pages that are truly read or written once and never referenced
again. Setting this variable to a larger amount of memory keeps adding pages
to the free list.
When the system is subject to bursts of severe memory pressure. A larger
value here helps to keep a bigger cushion against the pressure.
| | Commitment Level | Unstable
|
maxpgio
| Description | Maximum number of page
I/O requests that can be queued by the paging system. This number is divided
by 4 to get the actual maximum used by the paging system. It is used to throttle
the number of requests as well as to control process swapping.
| | Data Type | Signed integer
| | Default | 40
| | Range | 1 to 1024
| | Units | I/0s
| | Dynamic? | No
| | Validation | None
| | Implicit | The maximum number of I/O
requests from the pager is limited by the size of a list of request buffers,
which is currently sized at 256.
| | When to Change | When the system is
subject to bursts of severe memory pressure. A larger value here helps to
recover faster from the pressure if more than one swap device is configured
or the swap device is a striped device.
| | Commitment Level | Unstable
|
Swapping-Related Variables
Swapping in the Solaris environment is accomplished by the swapfs pseudo
file system. The combination of space on swap devices and physical memory
is treated as the pool of space available to support the system for maintaining
backing store for anonymous memory. The system attempts to allocate space
from disk devices first, and then uses physical memory as backing store. When
swapfs is forced to use system memory for backing store, limits are enforced
to ensure that the system does not deadlock because of excessive consumption
by swapfs.
|