General I/O
rlim_fd_cur (Pre-Solaris 7 and the Solaris 7 Release)
| Description | "Soft" limit
on file descriptors that a single process can have open. A process might adjust
its file descriptor limit to any value up to the "hard" limit
defined by rlim_fd_max by using the setrlimit() call or issuing the limit command in whatever
shell it is running. You do not require superuser privilege to adjust the
limit to any value less than or equal to the hard limit.
| | Data Type | Signed integer
| | Default | 64
| | Range | 1 to MAXINT
| | Units | File descriptors
| | Dynamic? | No. Loaded into rlimits structure.
| | Validation | Compared to rlim_fd_max and if rlim_fd_cur is greater than rlim_fd_max, rlim_fd_cur is reset to rlim_fd_max.
| | When to Change | When the default
number of open files for a process is not enough. Increasing this value means
only that it is possibly not necessary for a program to use setrlimit(2) to increase the maximum number of file descriptors available to
it.
| | Commitment Level | Unstable
|
rlim_fd_max (Solaris 8 Release)
| Description | "Hard" limit
on file descriptors that a single process might have open. To override this
limit requires superuser privilege.
| | Data Type | Signed integer
| | Default | 1024
| | Range | 1 to MAXINT
| | Units | File descriptors
| | Dynamic? | No
| | Validation | None
| | When to Change | When the maximum
number of open files for a process is not enough. Note that other limitations
in system facilities can mean that a larger number of file descriptors is
not as useful as it might be:
A 32-bit program using standard I/O is limited to 256 file
descriptors. A 64-bit program using standard I/O can use up to 2 billion descriptors.
select(3C)
is by default limited to 1024 descriptors per fd_set. Starting
with the Solaris 7 release, 32-bit application code can be recompiled with
a larger fd_set size (less than or equal to 65,536). A
64-bit application sees an fd_set size of 65,536, which
cannot be changed.
An alternative to changing this on a system wide basis is to use the plimit(1) command.
If a parent process has its limits changed by plimit, all
children inherit the increased limit. This is useful for daemons such as inetd.
| | Commitment Level | Unstable
|
General File System
segkpsize (Solaris 9 4/03 Release)
This parameter was moved to the General Parameters section of Chapter 2, Solaris Kernel Tunables and was updated. For more information, see segkpsize.
segkpsize (Solaris 9 12/02 Release)
| Description | Specify the amount of
kernel pageable memory available. This memory is used primarily for kernel
thread stacks. Increasing this number allows either larger stacks for the
same number of threads or more threads. This parameter can only be set on
systems running 64-bit kernels. Systems running 64-bit kernels use a
default stack size of 24 Kbytes.
| | Data Type | Unsigned long
| | Default | 64-bit kernels, 2
Gbytes
32-bit kernels, 512 Mbytes
| | Range | 64-bit kernels, 512
Mbytes - 24 Gbytes
32-bit kernels, 512 Mbytes
| | Units | Mbytes
| | Dynamic? | No
| | Validation | Value is compared to
minimum and maximum sizes (512 Mbytes and 24 Gbytes for 64-bit systems) and
if smaller than the minimum or larger than the maximum, it is reset to 2 Gbytes
and a message to that effect is displayed.
The actual size used in creation of the cache is the lesser of the value
specified in segkpsize after the constraints checking and
50% of physical memory.
| | When to Change | This is one of the
steps necessary to support large numbers of processes on a system. The default
size of 2 Gbytes, assuming at least 1 Gbyte of physical memory is present,
allows creation of 24-Kbyte stacks for more than 87,000 kernel threads.
The size of a stack in a 64-bit kernel is the same whether the process is
a 32-bit process or a 64-bit process. If more than this number is needed, segkpsize can be increased assuming sufficient physical memory exists.
| | Commitment Level | Unstable
| | Change History | For information,
see segkpsize (Pre-Solaris 7 and the Solaris 7 Release).
|
segkpsize (Pre-Solaris 7 and the Solaris 7 Release)
| Description | Specify the amount of
kernel pageable memory available. This memory is used primarily for kernel
thread stacks. Increasing this number allows either larger stacks for the
same number of threads or more threads. This parameter can only be set on
64-bit kernels. 64-bit kernels use a default stack size of 24 Kbytes.
Available for the Solaris 7 release with patch 106541-04 or the Solaris
7 5/99 and Solaris 8 releases.
| | Data Type | Unsigned long
| | Default | 64-bit kernels,
2 Gbytes
32-bit kernels, 512 Mbytes
| | Range | 64-bit kernels,
512 Mbytes - 24 Gbytes
32-bit kernels, 512 Mbytes
| | Units | Mbytes
| | Dynamic? | No
| | Validation | None
| | When to Change | Increase
when more threads are desired.
| | Commitment Level | Unstable
|
|