| lotsfree
Description | Initial trigger for
system paging to begin. When this threshold is crossed, the page scanner wakes
up to begin looking for memory pages to reclaim.
| Data Type | Unsigned long
| Default | The greater of 1/64th of
physical memory or 512 Kbytes
| Range | The minimum value is 512 Kbytes
or 1/64th of physical memory, whichever is greater, expressed as pages using
the page size returned by getpagesize(3C).
The maximum is the number of physical memory pages. The maximum value
should be no more than 30% of physical memory. The system does no enforcement
of this range other than that described in the Validation section.
| Units | Pages
| Dynamic? | Yes, but dynamic changes
are lost if a memory based DR operation occurs.
| Validation | If lotsfree is greater than the amount of physical memory, the value is reset
to the default.
| Implicit | The relationship of lotsfree is greater than desfree, which is greater
than minfree, should be maintained at all times.
| When to Change | When demand for pages
is subject to sudden sharp spikes, the memory algorithm might not be able
to keep up with demand. One way to work around this problem is to start reclaiming
memory at an earlier time. This solution gives the paging system some additional
margin.
A rule of thumb is to set this parameter to 2 times what the system
needs to allocate in a few seconds. This parameter is workload dependent:
a DBMS server can probably work fine with the default settings, but a system
doing heavy file system I/O might need to adjust this parameter.
For systems with relatively static workloads and large amounts of memory,
adjust this value downwards. The minimum acceptable value is 512 Kbytes expressed
as pages using the page size returned by getpagesize(3C).
| Commitment Level | Unstable
|
desfree
Description | Amount of memory desired
to be free at all times on the system.
| Data Type | Unsigned integer
| Default | lotsfree
/ 2
| Range | The minimum value is 256 Kbytes
or 1/128th of physical memory, whichever is greater, expressed as pages using
the page size returned by getpagesize(3C).
The maximum is the number of physical memory pages. The maximum value
should be no more than 15% of physical memory. The system does no enforcement
of this range other than that described in the Validation section.
| 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 desfree
is greater than lotsfree, desfree is
set to lotsfree / 2. No message is displayed.
| Implicit | The relationship of lotsfree is greater than desfree, which is greater
than minfree, should be maintained at all times.
| Side Effects | Several side effects
can arise from increasing the value of this variable. When the new value nears
or exceeds the amount of available memory on the system:
Asynchronous I/O requests are not processed unless available
memory exceeds desfree. Increasing the value of desfree can result in rejection of requests that otherwise would
succeed.
NFS Version 3 asynchronous writes are executed as synchronous
writes.
The swapper is awakened earlier, and the behavior of the swapper
is biased towards more aggressive actions.
The system might not prefault as many executable pages into
the system. This side effect results in applications potentially running slower
than they otherwise would.
| When to Change | For systems with
relatively static workloads and large amounts of memory, adjust this value
downwards. The minimum acceptable value is 256 Kbytes expressed as pages using
the page size returned by getpagesize(3C).
| Commitment Level | Unstable
|
minfree
Description | Minimum acceptable memory
level. When memory drops below this number, the system biases allocations
toward those necessary to successfully complete pageout operations or to swap
processes completely out of memory, and either denies or blocks other allocation
requests.
| Data Type | Unsigned integer
| Default | desfree
/ 2
| Range | The minimum value is 128 kbytes
or 1/256th of physical memory, whichever is greater, expressed as pages using
the page size returned by getpagesize(3C).
The maximum is the number of physical memory pages. The maximum value
should be no more than 7.5% of physical memory. The system does no enforcement
of this range other than that described in the Validation section.
| 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 minfree
is greater than desfree, minfree is
set to desfree / 2. No message is displayed.
| Implicit | The relationship of lotsfree is greater than desfree, which is greater
than minfree, should be maintained at all times.
| When to Change | The default value
is generally adequate. For systems with relatively static workloads and large
amounts of memory, adjust this value downwards. The minimum acceptable value
is 128 Kbytes expressed as pages using the page size returned by getpagesize(3C).
| Commitment Level | Unstable
|
throttlefree
Description | Memory level at which
blocking memory allocation requests are put to sleep, even if the memory is
sufficient to satisfy the request.
| Data Type | Unsigned integer
| Default | minfree
| Range | The minimum value is 128 Kbytes
or 1/256th of physical memory, whichever is greater, expressed as pages using
the page size returned by getpagesize(3C).
The maximum is the number of physical memory pages. The maximum value
should be no more than 4% of physical memory. The system does no enforcement
of this range other than that described in the Validation section.
| 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 throttlefree is greater than desfree, throttlefree is set to minfree. No message is displayed.
| Implicit | The relationship of lotsfree is greater than desfree, which is greater
than minfree, should be maintained at all times.
| When to Change | The default value
is generally adequate. For systems with relatively static workloads and large
amounts of memory, adjust this value downwards. The minimum acceptable value
is 128 Kbytes expressed as pages using the page size returned by getpagesize(3C).
| Commitment Level | Unstable
|
| |