dopageflush
Description | Controls whether memory
is examined for modified pages during fsflush invocations.
In each invocation of fsflush, the number of memory pages
in the system is determined (it might have changed because of a dynamic reconfiguration
operation). Each invocation scans (total number of pages x tune_t_fsflushr) / autoup pages.
|
Data Type | Signed integer
|
Default | 1 (enabled)
|
Range | 0 (disabled) or 1 (enabled)
|
Units | Toggle (on/off)
|
Dynamic? | Yes
|
Validation | None
|
When to Change | If the system page
scanner rarely runs, indicated by a value of 0 in the sr
column of vmstat output.
|
Commitment Level | Unstable
|
doiflush
Description | Controls whether file
system metadata syncs will be executed during fsflush invocations.
Syncs are done every Nth invocation of fsflush where N= (autoup / tune_t_fsflushr). Because this is an integer division, if tune_t_fsflushr is greater than autoup, a sync will be done
on every invocation of fsflush because the code checks
to see if its iteration counter is greater than or equal to N. Note that N is computed once on
invocation of fsflush. Later changes to tune_t_fsflushr or autoup will have no effect on the frequency
of sync operations.
|
Data Type | Signed integer
|
Default | 1 (enabled)
|
Range | 0 (disabled) or 1 (enabled)
|
Units | Toggle (on/off)
|
Dynamic? | Yes
|
Validation | None
|
When to Change | When files are frequently
modified over a period of time and the load caused by the flushing perturbs
system behavior. Files whose existence, and therefore consistency of state
does not matter if the system reboots, are better kept in a TMPFS file system
(for example, /tmp). Inode traffic can be reduced on
systems running the Solaris 7 and 8 releases by using the mount -noatime option. This option eliminates inode updates when the file
is accessed.
A system engaged in realtime processing might want to disable this option
and use explicit application file syncing to achieve consistency.
|
Commitment Level | Unstable
|
Process Sizing Tunables
Several variables are used to control the number of processes that are
available on the system and the number of processes that an individual user
can create. The foundation variable is maxusers, which
drives the values assigned to max_nprocs and maxuprc.
maxusers
Description | Originally, maxusers defined the number of logged in users the system could
support. Various tables were sized based on this setting when a kernel was
generated. Now, the Solaris release does much of its sizing based on the amount
of memory on the system, so much of the past use of maxusers
has changed. There are still a number of subsystems that are derived from maxusers:
The maximum number of processes on the system
The number of quota structures held in the system
The size of the directory name lookup cache (DNLC)
|
Data Type | Signed integer
|
Default | Lesser of the amount of
memory in Mbytes and 2048
|
Range | 1 to 2048, based on physical
memory if not set in the /etc/system file.
1 to 4096, if set in the /etc/system file.
|
Units | Users
|
Dynamic? | No. After computation of
dependent variables is done, maxusers is never referenced
again.
|
Validation | None
|
When to Change | When the default
number of user processes derived by the system is too low. This situation
is seen by the following message that displays on the system console:
When the default number of processes is too high:
Database servers that have a lot of memory and relatively
few running processes, can save system memory by reducing the default value
of maxusers.
File servers that have a lot of memory and few running processes
can reduce this value, but should explicitly set the size of the DNLC. (See "ncsize".)
Compute servers that have a lot of memory and few running
processes can reduce this value.
|
Commitment Level | Unstable
|
Change History | For information,
see "maxusers (Solaris 7 Release)".
|
reserved_procs
Description | Specifies number of
system process slots to be reserved in the process table for processes with
a UID of root (0). For example, fsflush.
|
Data Type | Signed integer
|
Default | 5
|
Range | 5 to MAXINT
|
Units | Processes
|
Dynamic? | No. Not used after the
initial parameter computation.
|
Validation | In the Solaris 8 release,
any /etc/system setting is honored.
|
Commitment Level | Unstable
|
When to Change | Consider increasing
to 10 + normal number of UID 0 (root) processes on system. This setting provides
some cushion should it be necessary to obtain a root shell during a time when
the system is otherwise unable to create user-level processes.
|