Appendix A Tunable Parameters Change History
This chapter describes the change history of specific tunable parameters.
If a parameter is in this section, it has changed from a previous release.
Parameters whose functionality has been removed are listed also.
Kernel Parameters
Process-Sizing Tunables
max_nprocs (Solaris 9 Releases)
The
Solaris 10 description section was updated by removing the text “sun4m.”
General
Driver Parameter
ddi_msix_alloc_limit (Solaris
10 Release and Open Solaris 2009.06 Release)
This parameter is new starting in the Solaris 10 10/09 release and the
Open Solaris 2009.06 release. For more information, see ddi_msix_alloc_limit.
General I/O Tunable Parameters
maxphys (Solaris 10 Releases)
The default value is updated to include sun4v systems. For more information,
see maxphys.
maxphys (Solaris 9 Releases)
The
text “126,976 (sun4m)” was removed from the Solaris 10 maxphys default section.
rlim_fd_max (Solaris 8
Release)
In
the Solaris 8 version, the default is 1024. In later Solaris releases, the
default is 65,536.
General Kernel and Memory Parameters
zfs_arc_min (Solaris 10 Releases)
This parameter description is newly documented in the Solaris 10 10/09
release. For more information, see zfs_arc_min.
zfs_arc_max (Solaris 10 Releases)
This parameter description is newly documented in the Solaris 10 10/09
release. For more information, see zfs_arc_max.
noexec_user_stack (Solaris
9 Releases)
The Solaris 10 description section was updated by removing the
text “and sun4m” and adding the text “64–bit SPARC
and AMD64.”
lwp_default_stksize (Solaris 9
Releases)
The Solaris 10 description section was updated by adding default and
maximum values for AMD64.
The Solaris 10 default value for SPARC platforms was changed to 24,576.
noexec_user_stack (Solaris
2.6, 7, and 8 Releases)
The Solaris 9 description section was updated by removing the text “and
sun4d.”
segkpsize (Solaris 9 12/02
Release)
In
previous Solaris 9 releases, units were incorrectly identified as Mbytes instead
of 8-Kbyte pages. In addition, the following text is removed from the range
and default descriptions in the Solaris 10 release because this parameter
is only available on systems running 64-bit kernels:
32-bit kernels, 512 Mbytes
fsflush and Related Parameters
dopageflush (Solaris 10 Releases)
In the Solaris
10 10/08 release,
the description was clarified by including that number of physical memory
pages are examined.
Paging-Related Tunable Parameters
maxpgio (Solaris 10 Releases)
In
the Solaris 10 versions, the range value was incorrectly documented as 1 to
1024. The actual range depends on system architecture and I/O subsystems.
For more information, see maxpgio.
pages_pp_maximum (Solaris
Releases Prior to Solaris 9 Releases)
In the Solaris 8 versions, the default description is as follows:
Maximum of the triplet (200, tune_t_minarmem +
100, [10% of memory available at boot time])
General File System Parameters
ncsize (Solaris 9 and Previous
Releases)
In
the Solaris 9 release and previous releases, the nfs:nrnode parameter
was incorrectly identified as nfs:nfs_rnode in the when
to change description.
ncsize (Solaris 10 Release)
In the Solaris 10 release, the default value of the ncsize parameter
was incorrectly described as follows:
4 x (v.v_proc + maxusers) + 320
/ 100
The correct default value is as follows:
(4 x (v.v_proc + maxusers) + 320)
+ (4 x (v.v_proc + maxusers) + 320 /
100
For more information, see ncsize.
UFS Tunable Parameters
bufhwm (Solaris 9 Releases)
This parameter information changed significantly in the Solaris 10 release.
Please see bufhwm and bufhwm_pct for
more information.
- Description
-
Maximum amount of memory for caching I/O buffers. The buffers
are used for writing file system metadata (superblocks, inodes, indirect blocks,
and directories). Buffers are allocated as needed until the amount to be allocated
would exceed bufhwm. At this point, enough buffers are
reclaimed to satisfy the request.
For historical reasons, this parameter does not require the ufs: prefix.
- Data Type
-
Signed integer
- Default
-
2% of physical memory
- Range
-
80 Kbytes to 20% of physical memory
- Units
-
Kbytes
- Dynamic?
-
No. Value is used to compute hash bucket sizes and is then
stored into a data structure that adjusts the value in the field as buffers
are allocated and deallocated. Attempting to adjust this value without following
the locking protocol on a running system can lead to incorrect operation.
- Validation
-
If bufhwm is less than 80 Kbytes or greater
than the lesser of 20% of physical memory or twice the current amount of kernel
heap, it is reset to the lesser of 20% of physical memory or twice the current
amount of kernel heap. The following message appears on the system console
and in the /var/adm/messages file.
"binit: bufhwm out of range (value attempted). Using N."
|
Value attempted refers to the value entered in /etc/system or
by using the kadb -d command. N is
the value computed by the system based on available system memory.
- When to Change
-
Since buffers are only allocated as they are needed, the overhead
from the default setting is the allocation of a number of control structures
to handle the maximum possible number of buffers. These structures consume
52 bytes per potential buffer on a 32–bit kernel and 104 bytes per potential
buffer on a 64–bit kernel. On a 512 Mbyte 64–bit kernel this consumes
104*10144 bytes, or 1 Mbyte. The header allocations assumes buffers are 1
Kbyte in size, although in most cases, the buffer size is larger.
The amount of memory, which has not been allocated in the buffer pool,
can be found by looking at the bfreelist structure in the
kernel with a kernel debugger. The field of interest in the structure is bufsize, which is the possible remaining memory in bytes. Looking
at it with the buf macro by using mdb:
# mdb -kLoading modules: [ unix krtld genunix ip nfs ipc ]
> bfreelist$<buf
bfreelist:
[ elided ]
bfreelist + 0x78: bufsize [ elided ]
75734016
|
bufhwm on this system, with 6 Gbytes of memory, is
122277. It is not directly possible to determine the number of header structures
used since the actual buffer size requested is usually larger than 1 Kbyte.
However, some space might be profitably reclaimed from control structure allocation
for this system.
The same structure on the 512 Mbyte system shows that only 4 Kbytes
of 10144 Kbytes has not been allocated. When the biostats kstat is
examined with kstat -n biostats, it is seen that the system
had a reasonable ratio of buffer_cache_hits to buffer_cache_lookups as well. This indicates that the default setting is reasonable
for that system.
- Commitment Level
-
Unstable
TMPFS Parameters
tmpfs:tmpfs_maxkmem (Solaris 10
Releases)
The range description is updated to include sun4v systems. For more
information, see tmpfs:tmpfs_maxkmem.
tmpfs:tmpfs_minfree (Solaris
8 Releases)
In the Solaris 8 versions, the units was incorrectly described
as “Bytes,” instead of “Pages.”
sun4u or sun4v Specific Parameters (Solaris 10 Releases)
The title of the Sun-4u Specific Parameters section was revised in the
Solaris 10 8/07 release to include sun4v systems.
default_tsb_size (Solaris 10 Releases)
The default description has changed. For more information, see default_tsb_size.
enable_tsb_rss_sizing (Solaris
10 Releases)
The description and default and range values have changed. For more
information, see enable_tsb_rss_sizing.
tsb_rss_factor (Solaris 10 Releases)
The when to change example text was changed to this:
For example, changing tsb_rss_factor to 256 (effectively,
50%) instead of 384 (effectively, 75%) might help eliminate virtual address
conflicts in the TSB in some cases, but will use more kernel memory, particularly
on a heavily loaded system.
NFS Tunable Parameters
nfs:nfs3_nra (Solaris 10)
The
default value was incorrectly documented in the Solaris 10 release. The default
value is 4.
nfs:nrnode (Solaris 9 8/03)
The
Solaris 10 description was updated to include the text “NFS version
4 client.”
nfs:nfs_write_error_interval (Solaris
9 8/03)
The Solaris 10 description was updated to include the text “NFS
version 4 client.”
nfs:nfs_write_error_to_cons_only (Solaris
9 8/03)
The Solaris 10 description was updated to include the text “NFS
version 4 client.”
nfs:nfs_disable_rddir_cache (Solaris
9 8/03)
The Solaris 10 when to change text was updated to include the
text “NFS version 4 client.”
nfs:nfs3_max_transfer_size (Solaris
9 8/03)
The Solaris 10 default description was updated to 1,048,576 (1
Mbyte) from 32, 768 (32 Kbytes).
TCP/IP Tunable Parameters
tcp_local_dack_interval (Solaris
10 Releases)
The range of this parameter was incorrectly documented in previous Solaris
releases. The correct range is 10 milliseconds to 1 minute.
ip_forward_src_routed and ip6_forward_src_routed (Solaris 10 Release)
The default value of these parameters was incorrectly documented in
the Solaris 9 and Solaris 10 releases. The correct default value is disabled.
- Description
-
Controls whether IPv4 or IPv6 forwards packets with source IPv4
routing options or IPv6 routing headers.
- Default
-
1 (enabled)
ip_multidata_outbound (Solaris
10 Release)
This parameter was enhanced in the Solaris Express 12/05 release to
deliver IP fragments in batches to the network driver. For more information,
see ip_multidata_outbound.
- Description
-
Enables the network stack to send more than one packet at
one time to the network device driver during transmission.
Enabling this parameter reduces the per-packet processing costs by improving
host CPU utilization, network throughput, or both.
The multidata transmit (MDT) feature is only effective for device
drivers that support this feature.
See also tcp_mdt_max_pbufs.
- Default
-
1 (Enabled)
- Range
-
0 (disabled) or 1 (enabled)
- Dynamic?
-
Yes
- When to Change
-
If you do not want this parameter enabled for debugging purposes
or for any other reasons, disable it.
- Commitment Level
-
Unstable
- Change History
-
For information, see ip_multidata_outbound (Solaris 9 Release).
ip_multidata_outbound (Solaris
9 Release)
This parameter information changed significantly in releases after the
Solaris 9 8/03 release. Please see ip_multidata_outbound for more information.
- Description
-
This parameter enables the network stack to send more than
one packet at one time to the network device driver during transmission.
Enabling this parameter reduces the per-packet processing costs by improving
the host CPU utilization and/or network throughput.
The multidata transmit (MDT) feature is only effective for device
drivers that support this feature.
The following parameter must be enabled in the /etc/system file
to use the MDT parameter:
set ip:ip_use_dl_cap = 0x1
- Default
-
Disabled
- Range
-
0 (disabled), 1 (enabled)
- Dynamic?
-
Yes
- When to Change
-
This feature can be enabled at any time to allow for improved
system performance with the following cautions:
-
Enabling this feature might change the appearance of any packets
between the IP layer and the DLPI provider. So, any third-party STREAMS module
that is dynamically inserted between the IP layer and the DLPI provider by
using ifconfig's modinsert feature,
which doesn't understand the MDT STREAMS data type, might not work.
Modules
that are inserted between the IP and the DLPI provider with the autopush(1m) mechanism might not work as well.
-
Keep this feature disabled when a STREAMS module is not MDT
aware. For example, the public domain utilities such as ipfilter, Checkpoint
Firewall-1, and so on, are not MDT aware.
- Commitment Level
-
Unstable
ip_squeue_fanout (Solaris 10 11/06
Release)
Zone configuration information was added in the Solaris 10 8/07 release.
For more information, see ip_squeue_fanout.
ip_squeue_worker_wait (Solaris
10 11/06 Release)
Zone configuration information was added in the Solaris 10 8/07 release.
For more information, see ip_squeue_worker_wait In
addition, this parameter was moved to TCP/IP Parameters Set in the /etc/system File.
ip_soft_rings_cnt (Solaris 10
11/06 Release)
Zone configuration information was added in the Solaris 10 8/07 release.
For more information, see ip_soft_rings_cnt.
ip_squeue_write (Solaris 10 Release)
This parameter was incorrectly documented in the Solaris 10 release.
It has been removed.
tcp_conn_hash_size (Solaris
9 Releases)
This parameter was removed in the Solaris 10 release.
- Description
-
Controls the hash table size in the TCP module for all TCP connections.
- Data Type
-
Signed integer
- Default
-
512
- Range
-
512 to 1,073,741,824
- Implicit
-
The value should be a power of 2.
- Dynamic?
-
No. The parameter can only be changed at boot time.
- Validation
-
If you set the parameter to a value that is not a power of
2, it is rounded up to the nearest power of 2.
- When to Change
-
If the system consistently has tens of thousands of TCP connections,
increase the value accordingly. With the default value, TCP performs well
up to a few thousand active connections. Note that increasing the hash table
size means more memory consumption so set an appropriate value to avoid wasting
memory unnecessarily.
- Commitment Level
-
Unstable
tcp_wscale_always (Solaris 9 Releases)
The default value of this parameter was changed to enabled in the Solaris
10 release.
- Description
-
When this parameter is enabled, which is the default setting,
TCP always sends a SYN segment with the window scale option, even if the window
scale option value is 0. Note that if TCP receives a SYN segment with the
window scale option, even if the parameter is disabled, TCP responds with
a SYN segment with the window scale option. In addition, the option value
is set according to the receive window size.
Refer to RFC 1323 for the window scale option.
- Default
-
0 (disabled)
- Range
-
0 (disabled) or 1 (enabled)
- Dynamic?
-
Yes
- When to Change
-
If there is an interoperability problem with an old TCP stack
that does not support the window scale option, disable this parameter.
- Commitment Level
-
Unstable
ipc_tcp_conn_hash_size (Solaris
9 Releases)
This parameter was removed in the Solaris 10 release.
- Description
-
Controls the hash table size in an IP module for all active (in
ESTABLISHED state) TCP connections.
- Data Type
-
Unsigned integer
- Default
-
512
- Range
-
512 to 2,147,483,648
- Implicit
-
It should be a power of two.
- Dynamic?
-
No. This parameter can only be changed at boot time.
- Validation
-
If you set the parameter to a value that is not a power of
2, it is rounded up to the nearest power of two.
- When to Change
-
If the system consistently has tens of thousands of active
TCP connections, increase the value accordingly. With the default value, the
system performs well up to a few thousand active connections. Note that increasing
the hash table size means more memory consumption so set an appropriate value
to avoid wasting memory unnecessarily.
- Commitment Level
-
Unstable
tcp_compression_enabled (Solaris
9 Releases)
This parameter was removed in the Solaris 10 release.
- Description
-
If set to 1, protocol control blocks of TCP connections in TIME-WAIT
state are compressed to reduce memory usage. If set to 0, no compression is
done. See tcp_time_wait_interval also.
- Default
-
1 (enabled)
- Range
-
0 (disabled), 1 (enabled)
- Dynamic?
-
Yes
- When to Change
-
Do not turn off the compression mechanism.
- Commitment Level
-
Unstable
ip_forwarding and ip6_forwarding (Solaris 9 Releases)
These parameters are obsolete in the Solaris 10 release.
- Description
-
Controls whether IP does IPv4 or IPv6 forwarding between interfaces.
See also xxx:ip_forwarding (Solaris 9 Releases).
- Default
-
0 (disabled)
- Range
-
0 (disabled) or 1 (enabled)
- Dynamic?
-
Yes
- When to Change
-
If IP forwarding is needed, enable it.
- Commitment Level
-
Unstable
xxx:ip_forwarding (Solaris 9 Releases)
This parameter is obsolete in the Solaris 10 release.
- Description
-
Enables IPv4 forwarding for a particular xxx interface. The exact name of the parameter is interface-name:ip_forwarding. For example, two interfaces
are hme0 and hme1. Here are their corresponding
parameter names:
hme0:ip_forwarding and hme1:ip_forwarding
- Default
-
0 (disabled)
- Range
-
0 (disabled) or 1 (enabled)
- Dynamic?
-
Yes
- When to Change
-
If you need IPv4 forwarding, use this parameter to enable
forwarding on a per-interface basis.
- Commitment Level
-
Unstable
tcp_conn_req_max_q0 (Solaris 8
Release)
The when to change text was revised in later Solaris releases from this:
- When to Change
-
For applications, such as web servers that might receive excessive
connection requests, you can increase the default value to match the incoming
rate.
The following explains the relationship between tcp_conn_req_max_q0 and the maximum number of pending connections for each socket.
When a connection request is received, TCP first checks if the number
(N) of pending TCP connections (three-way handshake
is done) waiting to be accepted exceeds the maximum for the listener. If the
connections are excessive, the request is denied. If the number of connections
is allowable, then TCP checks if the number of incomplete pending TCP connections
exceeds the sum of N and tcp_conn_req_max_q0.
If it does not, the request is accepted. Otherwise, the oldest incomplete
pending TCP request is dropped.
to this:
- When to Change
-
For applications, such as web servers that might receive excessive
connection requests, you can increase the default value to match the incoming
rate.
The following explains the relationship between tcp_conn_req_max_q0 and the maximum number of pending connections for each socket.
When a connection request is received, TCP first checks if the number
of pending TCP connections (three-way handshake is done) waiting to be accepted
exceeds the maximum (N) for the listener. If the
connections are excessive, the request is denied. If the number of connections
is allowable, then TCP checks if the number of incomplete pending TCP connections
exceeds the sum of N and tcp_conn_req_max_q0. If it does
not, the request is accepted. Otherwise, the oldest incomplete pending TCP
request is dropped.
UDP Tunable Parameters
udp_xmit_hiwat (Solaris 9 Releases)
The default value and range of values changed in the Solaris 10 release.
- Default
-
8192 bytes
- Range
-
4096 to 65,536 bytes
udp_recv_hiwat (Solaris 9 Releases)
The default value and range of values changed in the Solaris 10 release.
- Default
-
8192 bytes
- Range
-
4096 to 65,536 bytes
udp_max_buf (Solaris 9
Releases)
The default value changed in the Solaris 10 release.
- Default
-
262, 144 bytes
Network Cache and Accelerator (NCA) Tunable
Parameters
sq_max_size (Solaris 9
12/02 Release)
This parameter information changed significantly in later Solaris releases.
Please see sq_max_size for more information.
- Description
-
The depth of the syncq (number of messages) before a destination
streams queue generates a QFULL message.
- Default
-
2 messages
- Range
-
1 to 0 (unlimited)
- Dynamic?
-
No
- When to Change
-
When NCA is running on a system with a lot of memory, increase
this parameter to allow drivers to queue more packets of data. If a server
is under heavy load, increase this parameter so modules and drivers may process
more data without dropping packets or getting backlogged.
- Commitment Level
-
Unstable
Parameters That Are Obsolete or Have Been Removed
The following section describes parameters that are obsolete or have
been removed from more recent Solaris releases.
Paging-Related Tunables
cachefree (Solaris 8 Releases)
Obsolete in Solaris 9 and later 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
priority_paging (Solaris
8 Releases)
Obsolete in Solaris 9 and later releases.
- Description
-
This variable sets cachefree to 2 times lotsfree.
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.
- Commitment Level
-
Obsolete
tune_t_gpgslo (Solaris
7 Releases)
- Description
-
Obsolete in the Solaris 8 release. Variable left in place for
compatibility reasons.
tune_t_minasmem (Solaris
7 Releases)
- Description
-
Obsolete in the Solaris 8 release. Variable left in place for
compatibility reasons.
System V Message Queue Parameters
msgsys:msginfo_msgmni (Solaris
9 Releases)
Obsolete in the Solaris 10 release.
- Description
-
Maximum number of message queues that can be created.
- Data Type
-
Signed integer
- Default
-
50
- Range
-
0 to MAXINT
- Dynamic?
-
No. Loaded into msgmni field of msginfo structure.
- Validation
-
None
- When to Change
-
When msgget(2) calls
return with an error of ENOSPC or at the recommendation
of a software vendor.
- Commitment Level
-
Unstable
msgsys:msginfo_msgtql (Solaris
9 Releases)
Obsolete in the Solaris 10 release.
- Description
-
Maximum number of messages that can be created. If a msgsnd call
attempts to exceed this limit, the request is deferred until a message header
is available. Or, if the request has set the IPC_NOWAIT flag,
the request fails with the error EAGAIN.
- Data Type
-
Signed integer
- Default
-
40
- Range
-
0 to MAXINT
- Dynamic?
-
No. Loaded into msgtql field of msginfo structure.
- Validation
-
None
- When to Change
-
When msgsnd() calls block or return with
error of EGAIN, or at the recommendation of a software
vendor.
- Commitment Level
-
Unstable
msgsys:msginfo_msgmnb (Solaris
9 Releases)
Obsolete in the Solaris 10 release.
- Description
-
Maximum number of bytes that can be on any one message queue.
- Data Type
-
Unsigned long
- Default
-
4096
- Range
-
0 to amount of physical memory
- Units
-
Bytes
- Dynamic?
-
No. Loaded into msgmnb field of msginfo structure.
- Validation
-
None
- When to Change
-
When msgsnd() calls block or return with
an error of EGAIN, or at the recommendation of a software
vendor.
- Commitment Level
-
Unstable
msgsys:msginfo_msgssz (Solaris
9 Releases)
Removed in the Solaris 10 release.
- Description
-
Specifies size of chunks system uses to manage space for message
buffers.
- Data Type
-
Signed integer
- Default
-
40
- Range
-
0 to MAXINT
- Dynamic?
-
No. Loaded into msgtql field of msginfostructure.
- Validation
-
The space consumed by the maximum number of data structures
that would be created to support the messages and queues is compared to 25%
of the available kernel memory at the time the module is loaded. If the number
is too big, the message queue module refuses to load and the facility is unavailable.
This computation does include the space that might be consumed by the messages.
This situation occurs only when the module is first loaded.
- When to Change
-
When the default value is not enough. Generally changed at
the recommendation of software vendors.
- Commitment Level
-
Obsolete
msgsys:msginfo_msgmap (Solaris
9 Releases)
Removed in the Solaris 10 release.
- Description
-
Number of messages the system supports.
- Data Type
-
Signed integer
- Default
-
100
- Range
-
0 to MAXINT
- Dynamic?
-
No
- Validation
-
The space consumed by the maximum number of data structures
that would be created to support the messages and queues is compared to 25%
of the available kernel memory at the time the module is loaded. If the number
is too big, the message queue module refuses to load and the facility is unavailable.
This computation does include the space that might be consumed by the messages.
This situation occurs only when the module is first loaded.
- When to Change
-
When the default value is not enough. Generally changed at
the recommendation of software vendors.
- Commitment Level
-
Obsolete
msgsys:msginfo_msgseg (Solaris
9 Releases)
Removed in the Solaris 10 release.
- Description
-
Number of msginfo_msgssz segments the system
uses as a pool for available message memory. Total memory available for messages
is msginfo_msgseg * msginfo_msgssz.
- Data Type
-
Signed short
- Default
-
1024
- Range
-
0 to 32,767
- Dynamic?
-
No
- Validation
-
The space consumed by the maximum number of data structures
that would be created to support the messages and queues is compared to 25%
of the available kernel memory at the time the module is loaded. If the number
is too big, the message queue module refuses to load and the facility is unavailable.
This computation does not include the space that might be consumed by the
messages. This situation occurs only when the module is first loaded.
- When to Change
-
When the default value is not enough. Generally changed at
the recommendation of software vendors.
- Commitment Level
-
Obsolete
msgsys:msginfo_msgmax (Solaris
9 Releases)
Removed in the Solaris 10 release.
- Description
-
Maximum size of System V message.
- Data Type
-
Unsigned long
- Default
-
2048
- Range
-
0 to amount of physical memory
- Units
-
Bytes
- Dynamic?
-
No. Loaded into msgmax field of msginfo structure.
- Validation
-
None
- When to Change
-
When msgsnd(2) calls
return with error of EINVAL or at the recommendation of
a software vendor.
- Commitment Level
-
Unstable
System V Semaphore Parameters
semsys:seminfo_semmni (Solaris
9 Releases)
Obsolete in the Solaris 10 release.
- Description
-
Specifies the maximum number of semaphore identifiers.
- Data Type
-
Signed integer
- Default
-
10
- Range
-
1 to 65,535
- Dynamic?
-
No
- Validation
-
Compared to SEMA_INDEX_MAX (currently 65,535)
and reset to that value if larger. A warning message is written to the console,
messages file, or both.
- When to Change
-
When the default number of sets is not enough. Generally changed
at the recommendation of software vendors. No error messages are displayed
when an attempt is made to create more sets than are currently configured.
Instead, the application receives a return code of ENOSPC from
a semget call.
For more information, see semget(2).
- Commitment Level
-
Unstable
semsys:seminfo_semmsl (Solaris
9 Releases)
Obsolete in the Solaris 10 release.
- Description
-
Specifies the maximum number of System V semaphores per semaphore
identifier.
- Data Type
-
Signed integer
- Default
-
25
- Range
-
1 to MAXINT
- Dynamic?
-
No
- Validation
-
The amount of space that could possibly be consumed by the
semaphores and their supporting data structures is compared to 25 percent
of the kernel memory available at the time the module is first loaded. If
the memory threshold is exceeded, the module refuses to load and the semaphore
facility is not available.
- When to Change
-
When the default value is not enough. Generally changed at
the recommendation of software vendors. No error messages are displayed when
an attempt is made to create more semaphores in a set than are currently configured.
The application sees a return code of EINVAL from a semget(2) call.
- Commitment Level
-
Unstable
semsys:seminfo_semopm (Solaris
9 Releases)
Obsolete in the Solaris 10 release.
- Description
-
Specifies the maximum number of System V semaphore operations
per semop call. This parameter refers to the number of sembufs in the sops array that is provided to
the semop() system call. For more information, see semop(2).
- Data Type
-
Signed integer
- Default
-
10
- Range
-
1 to MAXINT
- Dynamic?
-
No
- Validation
-
The amount of space that could possibly be consumed by the
semaphores and their supporting data structures is compared to 25 percent
of the kernel memory available at the time the module is first loaded. If
the memory threshold is exceeded, the module refuses to load and the semaphore
facility is not available.
- When to Change
-
When the default value is not enough. Generally changed at
the recommendation of software vendors. No error messages are displayed when
an attempt is made to perform more semaphore operations in a single semop call than are currently allowed. Instead, the application receives
a return code of E2BIG from a semop() call.
- Commitment Level
-
Unstable
semsys:seminfo_semmns (Solaris
9 Releases)
Removed in the Solaris 10 release.
- Description
-
Maximum number of System V semaphores on the system.
- Data Type
-
Signed integer
- Default
-
60
- Range
-
1 to MAXINT
- Dynamic?
-
No
- Validation
-
The amount of space that could possibly be consumed by the
semaphores and their supporting data structures is compared to 25% of the
kernel memory available at the time the module is first loaded. If the memory
threshold is exceeded, the module refuses to load and the semaphore facility
is not available.
- When to Change
-
When the default number of semaphores is not enough. Generally
changed at the recommendation of software vendors. No error messages are displayed
when an attempt is made to create more semaphores than are currently configured.
The application sees a return code of ENOSPC from a semget(2) call.
- Commitment Level
-
Unstable
semsys:seminfo_semmnu (Solaris
9 Releases)
Removed in the Solaris 10 release.
- Description
-
Total number of undo structures supported by the System V semaphore
system.
- Data Type
-
Signed integer
- Default
-
30
- Range
-
1 to MAXINT
- Dynamic?
-
No
- Validation
-
The amount of space that could possibly be consumed by the
semaphores and their supporting data structures is compared to 25% of the
kernel memory available at the time the module is first loaded. If the memory
threshold is exceeded, the module refuses to load and the semaphore facility
is not available.
- When to Change
-
When the default value is not enough. Generally changed at
the recommendation of software vendors. No error message is displayed when
an attempt is made to perform more undo operations than are currently configured.
The application sees a return value of ENOSPC from a semop(2) call when the system runs
out of undo structures.
- Commitment Level
-
Unstable
semsys:seminfo_semume (Solaris
9 Releases)
- Description
-
Removed in the Solaris 10 release.
Maximum number of System V semaphore undo structures that can
be used by any one process.
- Data Type
-
Signed integer
- Default
-
10
- Range
-
1 to MAXINT
- Dynamic?
-
No
- Validation
-
The amount of space that could possibly be consumed by the
semaphores and their supporting data structures is compared to 25% of the
kernel memory available at the time the module is first loaded. If the memory
threshold is exceeded, the module refuses to load and the semaphore facility
is not available.
- When to Change
-
When the default value is not enough. Generally changed at
the recommendation of software vendors. No error messages are displayed when
an attempt is made to perform more undo operations than are currently configured.
The application sees a return code of EINVAL from a semop(2) call.
- Commitment Level
-
Unstable
semsys:seminfo_semvmx (Solaris
9 Releases)
Removed in the Solaris 10 release.
- Description
-
Maximum value a semaphore can be set to.
- Data Type
-
Unsigned short
- Default
-
32,767
- Range
-
1 to 65,535
- Dynamic?
-
No
- Validation
-
None
- When to Change
-
When the default value is not enough. Generally changed at
the recommendation of software vendors. No error messages are displayed when
the maximum value is exceeded. The application sees a return code of ERANGE from a semop(2) call.
- Commitment Level
-
Unstable
semsys:seminfo_semaem (Solaris
9 Releases)
Removed in the Solaris 10 release.
- Description
-
Maximum value that a semaphore's value in an undo structure can
be set to.
- Data Type
-
Unsigned short
- Default
-
16,384
- Range
-
1 to 65,535
- Dynamic?
-
No
- Validation
-
None
- When to Change
-
When the default value is not enough. Generally changed at
the recommendation of software vendors. No error messages are displayed when
an attempt is made to perform more undo operations than are currently configured.
The application sees a return code of EINVAL from a semop(2) call.
- Commitment Level
-
Unstable
semsys:seminfo_semmap (Solaris
7 Releases)
Obsolete in the Solaris 8 release. Variable is present in kernel
for compatibility reasons but is no longer used.
semsys:seminfo_semusz (Solaris
7 Releases)
Obsolete in the Solaris 8 release. Any values entered are ignored.
System V Shared Memory Parameters
shmsys:shminfo_shmmni (Solaris
9 Releases)
Obsolete in the Solaris 10 release.
- Description
-
System wide limit on number of shared memory segments that can
be created.
- Data Type
-
Signed integer
- Default
-
100
- Range
-
0 to MAXINT
- Dynamic?
-
No. Loaded into shmmni field of shminfo structure.
- Validation
-
The amount of space consumed by the maximum possible number
of data structures to support System V shared memory is checked against 25%
of the currently available kernel memory at the time the module is loaded.
If the memory consumed is too large, the attempt to load the module fails.
- When to Change
-
When the system limits are too low. Generally changed on the
recommendation of software vendors.
- Commitment Level
-
Unstable
shmsys:shminfo_shmmax (Solaris
9 Releases)
Obsolete in the Solaris 10 release.
- Description
-
Maximum size of system V shared memory segment that can be created.
This parameter is an upper limit that is checked before the application sees
if it actually has the physical resources to create the requested memory segment.
Attempts to create a shared memory section whose size is zero or whose
size is larger than the specified value will fail with an EINVAL error.
This parameter specifies only the largest value the operating system
can accept for the size of a shared memory segment. Whether the segment can
be created depends entirely on the amount of swap space available on the system
and, for a 32-bit process, whether there is enough space available in the
process's address space for the segment to be attached.
- Data Type
-
Unsigned long
- Default
-
8,388,608
- Range
-
0 - MAXUINT32 on 32-bit systems, 0 – MAXUINT64 on 64-bit
systems
- Units
-
Bytes
- Dynamic?
-
No. Loaded into shmmax field of shminfo structure.
- Validation
-
None
- When to Change
-
When the default value is too low. Generally changed at the
recommendation of software vendors, but unless the size of a shared memory
segment needs to be constrained, setting this parameter to the maximum possible
value has no side effects.
- Commitment Level
-
Unstable
shmsys:shminfo_shmmin (Solaris
8 Release)
Obsolete in the Solaris 9 release. Variable is present in kernel
for compatibility reasons but is no longer used.
shmsys:shminfo_shmseg (Solaris
8 Release)
Obsolete in the Solaris 9 release. Variable is present in kernel
for compatibility reasons but is no longer used.
NFS Module Parameters
nfs:nfs_32_time_ok (Solaris
7)
Obsolete in the Solaris 8 release.