What's New in Solaris System Tuning in the Solaris 10 Release?
This section describes new or changed parameters in the Solaris 10 release.
Default Stack Size
A new parameter, default_stksize, specifies the default stack size of all threads, kernel
or user. The lwp_default_stksize parameter is still available, but it does not affect
all kernel stacks. If default_stksize is set, it overrides lwp_default_stksize. For more information,
see default_stksize.
System V IPC Configuration
In this Solaris release, all System V IPC facilities are either automatically configured
or can be controlled by resource controls. Facilities that can be shared are
memory, message queues, and semaphores.
Resource controls allow IPC settings to be made on a per-project or per-process
basis on the local system or in a name service environment.
In previous Solaris releases, IPC facilities were controlled by kernel tunables. You had
to modify the /etc/system file and reboot the system to change the default
values for these facilities.
Because the IPC facilities are now controlled by resource controls, their configuration can
be modified while the system is running.
Many applications that previously required system tuning to function might now run without
tuning because of increased defaults and the automatic allocation of resources.
The following table identifies the now obsolete IPC tunables and the possible resource
controls that could be used as replacements. An important distinction between the obsolete
IPC tunables and resource controls is that the IPC tunables were set on
a system-wide basis and the resource controls are set on a per-project or
per-process basis.
Resource Control |
Obsolete Tunable |
Old Default Value |
Maximum Value |
New Default Value |
process.max-msg-qbytes |
msgsys:msginfo_msgmnb |
4096 |
ULONG_MAX |
65536 |
process.max-msg-messages |
msgsys:msginfo_msgtql |
40 |
UINT_MAX |
8192 |
process.max-sem-ops |
semsys:seminfo_semopm |
10 |
INT_MAX |
512 |
process.max-sem-nsems |
semsys:seminfo_semmsl |
25 |
SHRT_MAX |
512 |
project.max-shm-memory |
shmsys:shminfo_shmmax* |
0x800000 |
UINT64_MAX |
1/4
of physical memory |
project.max-shm-ids |
shmsys:shminfo_shmmni |
100 |
224 |
128 |
project.max-msg-ids |
msgsys:msginfo_msgmni |
50 |
224 |
128 |
project.max-sem-ids |
semsys:seminfo_semmni |
10 |
224 |
128 |
* Note that the project.max-shm-memory resource control limits the total amount of shared
memory of one project, whereas previously, the shmsys:shminfo_shmmax parameter limited the size of a
single shared memory segment.
For more detailed descriptions of the resource controls, see Available Resource Controls in System Administration Guide: Virtualization Using the Solaris Operating System.
Obsolete parameters can still be included in the /etc/system file on a Solaris
system. If so, the parameters are used to initialize the default resource control
values as in previous Solaris releases. For more information, see Parameters That Are Obsolete or Have Been Removed. However, using
the obsolete parameters is not recommended.
The following related parameters have been removed. If these parameters are included in
the /etc/system file on a Solaris system, the parameters are commented out.
semsys:seminfo_semmns |
semsys:seminfo_semvmx |
semsys:seminfo_semmnu |
semsys:seminfo_semaem |
semsys:seminfo_semume |
semsys:seminfo_semusz |
semsys:seminfo_semmap |
shmsys:shminfo_shmseg |
shmsys:shminfo_shmmin |
msgsys:msginfo_msgmap |
msgsys:msginfo_msgseg |
msgsys:msginfo_msgssz |
msgsys:msginfo_msgmax |
|
For the current list of available resource controls, see rctladm(1M). For information
about configuring resource controls, see project(4), and Chapter 6, Resource Controls (Overview), in System Administration Guide: Virtualization Using the Solaris Operating System.
NFSv4 Parameters
The following parameters for the NFSv4 protocol are included in this release:
For information about NFSv4 parameters, see NFS Module Parameters.
New and Changed TCP/IP Parameters
The following IP parameters have been added in this Solaris release:
The following TCP parameters are new in this Solaris release:
The following TCP/IP parameters are obsolete in this Solaris release.
ipc_tcp_conn_hash_size
tcp_compression_enabled
tcp_conn_hash_size
ip_forwarding
ip6_forwarding
xxx_forwarding
IP Forwarding Changes
In this Solaris release, IP forwarding is enabled or disabled by using the
routeadm command or the ifconfig commands instead of setting the following tunable parameters
with the ndd command:
ip_forwarding
ip6_forwarding
xxx_forwarding
Using the routeadm command and the ifconfig command instead of the ndd
command to set IP forwarding provides the following advantages:
All settings are persistent across reboots
The new ifconfig router and -router commands can be placed in the /etc/hostname.interface files, along with other ifconfig commands that are run when the interface is initially configured.
To enable IPv4 or IPv6 packet forwarding on all interfaces of a
system, you would use the following commands:
# routeadm -e ipv4-forwarding
# routeadm -e ipv6-forwarding
To disable IPv4 or IPv6 packet forwarding on all interfaces of a
system, you would use the following commands:
# routeadm -d ipv4-forwarding
# routeadm -d ipv6-forwarding
In previous Solaris releases, you would enable IPv4 or IPv6 packet forwarding on
all interfaces of a system as follows:
# ndd -set /dev/ip ip_forwarding 1
# ndd -set /dev/ip ip6_forwarding 1
In previous Solaris releases, you would disable IPv4 or IPv6 packet forwarding on
all interfaces of a system as follows:
# ndd -set /dev/ip ip_forwarding 0
# ndd -set /dev/ip ip6_forwarding 0
If you want to enable IP forwarding on a specific IPv4 interface
or IPv6 interface, you would use syntax similar to the following for your
interface. The bge0 interface is used an as example.
# ifconfig bge0 router
# ifconfig bge0 inet6 router
If you want to disable IP forwarding on a specific IPv4 interface
or IPv6 interface, you would use syntax similar to the following for your
interface. The bge0 interface is used an as example.
# ifconfig bge0 -router
# ifconfig bge0 inet6 -router
Previously, IP forwarding was enabled on a specific interface as follows:
# ndd -set /dev/ip bge0:ip_forwarding 1
# ndd -set /dev/ip bge0:ip_forwarding 1
Previously, IP forwarding on a specific interface was disabled as follows:
# ndd -set /dev/ip ip_forwarding 0
# ndd -set /dev/ip ip6_forwarding 0
If you want any of the preceding routeadm settings to take effect on
the running system, use the following command:
# routeadm -u
For more information, see routeadm(1M) and ifconfig(1M).
SPARC: Translation Storage Buffer (TSB) Parameters
New parameters for tuning Translation Storage Buffer (TSB) are included in this release.
For information about TSB parameters, see sun4u or sun4v Specific Parameters.
SCTP Tunable Parameters
Stream Control Transmission Protocol (SCTP), a reliable transport protocol that provides services similar
to the services provided by TCP, is provided in this Solaris release. For
more information about SCTP tunable parameters, see SCTP Tunable Parameters.