Pseudo Terminals
Pseudo terminals (ptys
) are used for two purposes in Oracle Solaris software:
-
Supporting remote logins
-
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.
The default number of ptys
is now based on the amount of memory on the system. This default should be changed only to restrict or increase the number of users who can log in to the system.
Three related variables are used in the configuration process:
-
pt_cnt
– Default maximum number ofptys
. -
pt_pctofmem
– Percentage of kernel memory that can be dedicated to pseudo terminal support structures. A value of zero means that no remote users can log in to the system. -
pt_max_pty
– Hard maximum for number ofptys
.
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 is reached. When that threshold is crossed, the system looks at pt_max_pty
. If pt_max_pty
has a non-zero value, it is compared to pt_cnt
. The pseudo terminal 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 pseudo terminal allocation is allowed. Note that the limit based on pt_pctofmem
only comes into play if both pt_cnt
and ptms_ptymax
have 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.dfile
to the preferred number of ptys
. The setting of ptms_pctofmem
is not relevant in this case.
To dedicate a different percentage of system memory to pseudo terminal support and let the operating system manage the explicit limits, do the following:
-
Do not set
pt_cnt
orptms_ptymax
in/etc/system.d/file
. -
Set
pt_pctofmem
in/etc/system.d/file
to the preferred percentage. For example, setpt_pctofmem=10
for a 10 percent setting.
Note that the memory is not actually allocated until it is used in support of a pseudo terminal. Once memory is allocated, it remains allocated.