Sun Microsystems, Inc.
spacerspacer
spacer www.sun.com docs.sun.com |
spacer
black dot
 
 
2.  Solaris Kernel Tunables Pseudo Terminals pt_cnt  Previous   Contents   Next 
   
 

pt_pctofmem

Description

Maximum percentage of physical memory that can be consumed by data structures to support /dev/pts entries. A system running a 64-bit kernel consumes 176 bytes per /dev/pts entry. A system running a 32-bit kernel consumes 112 bytes per /dev/pts entry.

Data Type

Unsigned integer

Default

5

Range

0 to 100

Units

Percentage

Dynamic?

No

Validation

None

When to Change

When you want to either restrict or increase the number of users that can log in to the system. A value of zero means that no remote users can log in to the system.

Commitment Level

Unstable

pt_max_pty

Description

Maximum number of ptys the system offers.

Data Type

Unsigned integer

Default

0 (Uses system defined maximum)

Range

0 to MAXUINT

Units

logins/windows

Dynamic?

Yes

Validation

None

Implicit

Should be greater than or equal to pt_cnt.Value is not checked until the number of ptys allocated exceeds the value of pt_cnt.

When to Change

When you want to place an absolute ceiling on the number of logins supported even if the system could handle more based on its current configuration values.

Commitment Level

Unstable

Streams

nstrpush

Description

Number of modules that can be inserted into (pushed onto) into a stream.

Data Type

Signed integer

Default

9

Range

9 to 16

Units

Modules

Dynamic?

Yes

Validation

None

When to Change

At the direction of your software vendor. No messages are displayed when a STREAM exceeds its permitted push count. A value of EINVAL is returned to the program that attempted the push.

Commitment Level

Unstable

strmsgsz

Description

Maximum number of bytes that a single system call can pass to a STREAM to be placed in the data part of a message. Any write(2) exceeding this size is broken into multiple messages.

Data Type

Signed integer

Default

65,536

Range

0 to 262,144

Units

Bytes

Dynamic?

Yes

Validation

None

When to Change

When putmsg(2) calls return ERANGE.

Commitment Level

Unstable

strctlsz

Description

Maximum number of bytes that a single system call can pass to a STREAM to be placed in the control part of a message.

Data Type

Signed integer

Default

1024

Range

0 to MAXINT

Units

Bytes

Dynamic?

Yes

Validation

None

When to Change

At the direction of your software vendor. putmsg(2) calls return ERANGE if they attempt to exceed this limit.

Commitment Level

Unstable

System V Message Queues

System V message queues provide a message-passing interface that enables exchange of messages by queues created in the kernel. Interfaces are provided in the Solaris environment to enqueue and dequeue messages. Messages can have a type associated with them. Enqueueing places messages at the end of a queue. Dequeuing removes the first message of a specific type from the queue or the first message if no type is specified.

The module is dynamically loaded on first reference. Parameters provided to the subsystem are validated at that time. Entries in the /etc/system file must contain the msgsys: prefix.

This facility is different from the POSIX 1003.1b message queue facility.

The Solaris 8 release modified the use of some of the parameters for this facility. The msgsys:msginfo_msgssz, msgsys:msginfo_msgmap, and msgsys:msginfo_msgseg parameters are now obsolete. The variables have been left in place to avoid error messages. Any values applied are ignored.

The maximum number of messages the facility can handle at any one point in time is now entirely defined by msgsys:msginfo_msgtql. An array of message headers sized to the value specified in this variable is allocated and initialized as a free list. When an attempt is made to send a message, the free list is examined and if a header is available, a buffer is allocated from kernel memory to handle the message data. The data is copied into the buffer and the message is placed in the destination queue. When the message is read, the buffer is freed and the header placed on the free list.

Previous Solaris versions would limit the number of messages either by setting msgsys:msginfo_msgtql or by limiting the number of memory segments and the size of the segments that were allocated to a message buffer pool. When the module is first loaded, it allocates a number of data structures needed to manage messages. The total space allocated for these structures must not exceed 25% of available kernel memory, or the attempt to load fails and the following message is displayed.
msgsys: can't load module, too much memory requested

Unlike previous Solaris versions, a message buffer pool is not allocated as part of set up and is no longer considered in the 25% of memory check.

 
 
 
  Previous   Contents   Next