Sun Microsystems, Inc.
spacerspacer
spacer www.sun.com docs.sun.com |
spacer
black dot
 
 
2.  Solaris Kernel Tunables UFS ufs:ufs_LW and ufs:ufs_HW  Previous   Contents   Next 
   
 

TMPFS

tmpfs:tmpfs_maxkmem

Description

Maximum amount of kernel memory that TMPFS can use for its data structures (tmpnodes and directory entries).

Data Type

Unsigned long

Default

One page or 4% of physical memory, whichever is greater.

Range

Number of bytes in one page (8192 for UltraSPARC™ systems, 4096 for all others) to 25% of the available kernel memory at the time TMPFS was first used.

Units

Bytes

Dynamic?

Yes

Validation

None

When to Change

Increase if the following message is displayed on the console or written in the messages file.

tmp_memalloc: tmpfs over memory limit

The current amount of memory used by TMPFS for its data structures is held in the tmp_kmemspace field, which can be examined with a kernel debugger.

Commitment Level

Unstable

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

Pages

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

Changes From Previous Release

For information, see "tmpfs:tmpfs_minfree".

Pseudo Terminals

Pseudo terminals, ptys, are used for two purposes in Solaris:

  • Supporting remote logins by using the telnet, rlogin, or rsh commands

  • Providing the interface through which the X Window system creates command interpreter windows

The default number of pseudo-terminals is sufficient for a desktop workstation so tuning focuses on the number of ptys available for remote logins.

Previous versions of Solaris required that steps be taken to explicitly configure the system for the desired number of ptys. Starting with the Solaris 8 release, a new mechanism removes the necessity for tuning in most cases. The default number of ptys is now based on the amount of memory on the system and should be changed only to increase the number or to decrease the default value.

Three related variables are used in the configuration process:

  • pt_cnt - Default maximum number of ptys

  • pt_pctofmem - Percentage of kernel memory that can be dedicated to pty support structures

  • pt_max_pty - Hard maximum for number of ptys

pt_cnt has a default value of zero, which tells the system to limit logins based on the amount of memory specified in pct_pctofmem, unless pt_max_pty is set. If pt_cnt is non-zero, ptys are allocated until this limit. When that threshold is crossed, the system looks at pt_max_pty. If that has a non-zero value, it is compared to pt_cnt and the pty allocation is allowed if pt_cnt is less than pt_max_pty. If pt_max_pty is zero, pt_cnt is compared to the number of ptys supported based on pt_pctofmem. If pt_cnt is less than this value, the pty allocation is allowed. Note that the limit based on pt_pctofmem only comes into play if both pt_cnt and ptms_ptymax have their default values of zero.

To put a hard limit on ptys that is different than the maximum derived from pt_pctofmem, set pt_cnt and ptms_ptymax in /etc/system to the number of ptys desired. The setting of ptms_pctofmem is not relevant in this case.

To dedicate a different percentage of system memory to pty support and let the operating system manage the explicit limits, do the following:

  • Do not set pt_cnt or ptms_ptymax in /etc/system.

  • Set pt_pctofmem in /etc/system to the desired percentage. For example, set pt_pctofmem=10 for a 10% setting.

Note that the memory is not actually allocated until it is used in support of a pty. Once memory is allocated, it remains allocated.

pt_cnt

Description

The number of /dev/pts entries available is dynamic up to a limit determined by the amount of physical memory available on the system. pt_cnt is one of three variables that determines the minimum number of logins that the system can accommodate. The default maximum number of /dev/pts devices the system can support is determined at boot time by computing the number of pty structures that can fit in a percentage of system memory (see pt_pctofmem next). If pt_cnt is zero, the system allocates up to that maximum. If pt_cnt is non-zero, the system allocates to the greater of pt_cnt and the default maximum.

Data Type

Unsigned integer

Default

0

Range

0 to maxpid

Units

logins/windows

Dynamic?

No

Validation

None

When to Change

When you want to explicitly control the number of users that can remotely log in to the system.

Commitment Level

Unstable

Change History

For information, see "pt_cnt (Pre-Solaris 7 and the Solaris 7 Release)".

 
 
 
  Previous   Contents   Next