cachefree (Solaris 2.6 and Solaris 7 Releases)
| Description | Enables priority paging
feature, provided cachefree is greater than lotsfree. This variable is available for systems running the Solaris 2.6
release, with at a minimum, revision 10 of patch 105181 installed, and for
systems running the Solaris 7 release. By default, this feature (cachefree equals lotsfree) is disabled.
| | Data Type | Unsigned long
| | Default | Value of lotsfree unless priority_paging is set, which means cachefree is 2 times lotsfree
| | Range | lotsfree
to physical memory on system
| | Units | Pages
| | Dynamic? | Yes
| | Validation | If less than lotsfree, it is reset to the value of lotsfree.
| | When to Change | Should always be
enabled unless the system is tight on memory, and does excessive I/O where
the contents of the files are needed in the future.
| | Commitment Level | Obsolete
|
priority_paging (Solaris 8 Releases)
| Description | This variable sets cachefree to 2 times lotsfree.
The Solaris 8 release changes the way file system pages are cached.
These changes subsume the priority paging capability.
Note - Remove both cachefree and priority_paging settings in the /etc/system
file.
| | Commitment Level | Obsolete
| | Change History | See priority_paging (Solaris 2.6 and 7 Releases)
for more information.
|
priority_paging (Solaris 2.6 and 7 Releases)
| Description | Enables priority paging
feature. When set, this variable sets cachefree to 2 times lotsfree, thereby enabling priority paging.
| | Data Type | Signed integer
| | Default | 0
| | Range | 0 (priority paging disabled
unless cachefree set separately) or 1 (enabled)
| | Units | Toggle (on/off)
| | Dynamic? | No. Sets the value of cachefree at boot time only. Runtime enabling can be achieved by
setting cachefree with mdb while the
system is running.
| | Validation | None
| | When to Change | Should always be
enabled unless the system is tight on memory, and does excessive I/O where
the contents of the files are needed in the future.
| | Commitment Level | Obsolete
|
tmpfs:tmpfs_minfree
| Description | Minimum amount of swap
space that TMPFS leaves for the rest of the system.
| | Data Type | Signed long
| | Default | 256
| | Range | 0 to maximum swap space size
| | Units | Bytes
| | Dynamic? | Yes
| | Validation | None
| | When to Change | To maintain a reasonable
amount of swap space on systems with large amounts of TMPFS usage, you can
increase this number. The limit has been reached when the console or system
messages file displays the following message.
fs-name: File system full, swap space limit exceeded
|
| | Commitment Level | Unstable
|
pages_pp_maximum (Pre-Solaris 9 Releases)
| Description | Defines the number of
pages that the system requires be unlocked. If a request to lock pages would
force available memory below this value, that request is refused.
| | Data Type | Unsigned long
| | Default | Maximum of the triplet (200, tune_t_minarmem + 100, [10% of memory available at boot time])
| | Range | Default value to no more than
20% of physical memory. The systems 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.
| | Validation | Maximum of the quadruplet
(200, tune_t_minarmem + 100, [10% of memory available],
and the value from /etc/system). No message is displayed
if the value from /etc/system is increased. Done only
at boot time.
| | When to Change | When memory locking
requests or attaching to a shared memory segment with the SHARE_MMU flag fails, yet the amount of memory available seems to be sufficient.
Keeping 10% of memory free on a 32-Gbyte system might be excessive.
Excessively large values can cause memory locking requests to fail unnecessarily.
| | Commitment Level | Unstable
|
General Kernel Variables
noexec_user_stack (Solaris 2.6, 7, and 8 Releases)
| Description | Introduced in the Solaris
2.6 release to allow the stack to be marked as non-executable. This helps
make buffer-overflow attacks more difficult.
In the Solaris 2.6 release, the value does not affect threaded applications.
All 64-bit Solaris applications effectively make all stacks non-executable
irrespective of the setting of this variable.
Note - This variable exists on all systems running the Solaris 2.6, 7,
or 8 release, but it is only effective on sun4u, sun4m, and sun4d architectures.
| | Data Type | Signed integer
| | Default | 0 (disabled)
| | Range | 0 (disabled), 1 (enabled)
| | Units | Toggle (on/off)
| | Dynamic? | Yes. Does not affect currently
running processes--only those created after the value is set.
| | Validation | None
| | When to Change | Should be enabled
at all times unless applications are deliberately placing executable code
on the stack without using mprotect(2) to make the stack executable.
| | Commitment Level | Unstable
|
|