Sun Microsystems, Inc.
spacerspacer
spacer www.sun.com docs.sun.com |
spacer
black dot
 
 
  Previous   Contents   Next 
   
 
Appendix A

Tunable Parameter Change History

This chapter describes the change history of specific parameters. Parameters whose functionality has been removed are listed also.

Kernel Parameters

Process Sizing Tunables

maxusers (Solaris 7 Release)

Description

The maxusers parameter drives max_nprocs and maxuprc.

Data Type

Signed integer

Default

Lesser of the amount of memory in Mbytes and 1024

Range

1 to 2048


Note - Values greater than 1024 must be specified in /etc/system. If a value greater than 2048 is provided, calculations clamps the value at 2048, but later processing sets the value to the provided value.


Units

Users

Dynamic?

No. After computation of dependent variables is done, maxusers is never referenced again.

Validation

None

When to Change

If the default number of user processes derived by the system is insufficient. This insufficiency is seen by the following messages on the system console or messages file.

out of processes
Commitment Level

Unstable

max_nprocs (Pre-Solaris 8 Releases)

Description

Maximum number of processes that can be created on a system. Includes system and user processes. Prior to the Solaris 8 release, the value was determined by computation and then used in the setting of maxuprc.

This value is also used in determining the size of several other system data structures. For releases prior to Solaris 8, if a value is provided in the/etc/system file it is used rather than the computed value. Other data structures where this variable plays a role are:

  • Determining the size of the directory name lookup cache (if ncsize is not specified)

  • Allocating disk quota structures for UFS (if ndquot is not specified)

  • Verifying that the amount of memory used by configured system V semaphores does not exceed system limits

  • Configuring Hardware Address Translation resources for the sun4d, sun4m, and Intel platforms

Data Type

Signed integer

Default

10 + (16 x maxusers)

Range

266 to value of pidmax

Dynamic?

No. max_nprocs is assigned to the v_proc element of the v structure after the initial parameter calculation is completed. Changing v.v_proc on a running system almost certainly results in a system crash or silent data corruption.

Validation

Compared to maxpid and set to maxpid, if larger. On the sun4d and Intel platforms, an additional check is made against a platform-specific value. max_nprocs is set to the smallest value in the triplet (max_nprocs, maxpid, platform value). Both platforms use 65,534 as the platform value.

When to Change

Starting with the Solaris 8 release, this value can be changed to enable more than 30,000 processes on a system. Changing this parameter is one of the steps necessary to enable support for more than 30,000 processes on a system.

Commitment Level

Unstable

Paging Related Tunables

In certain revisions of the Solaris 2.6 kernel patch (105181-10 for SPARC platforms and 105182-09 for Intel platforms) and in the Solaris 7 release, a new parameter is introduced: priority paging. A new starting point for pageout thread activity (cachefree) is also used. When available memory is between cachefree and lotsfree, priority paging modifies the page-checking algorithm to skip the page, if it came from an executable (text, stack, or data). After memory falls below lotsfree, every page is considered equally. The facility is not enabled by default, but can be enabled by either setting cachefree to a value greater than lotsfree or by setting the priority_paging variable to a non-zero value, which sets cachefree to 2 times lotsfree.

cachefree (Solaris 8 Releases)

Description

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.


The caching changes remove most of the pressure on the virtual memory system resulting from file system activity. Several statistics exhibit new behavior:

  • Page reclaims are higher because pages are now explicitly added to the free list after I/O completes.

  • Free memory is now higher because the free memory count now includes a large component of the file cache.

  • Scan rates are drastically reduced.

Commitment Level

Obsolete

Change History

See "cachefree (Solaris 2.6 and Solaris 7 Releases)" for more information.

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

 
 
 
  Previous   Contents   Next