Solaris Tunable Parameters Reference Manual
Previous Next

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.

Previous Next