JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Oracle Solaris Tunable Parameters Reference Manual     Oracle Solaris 11 Information Library
search filter icon
search icon

Document Information

Preface

1.  Overview of Oracle Solaris System Tuning

2.  Oracle Solaris Kernel Tunable Parameters

Where to Find Tunable Parameter Information

General Kernel and Memory Parameters

physmem

zfs_arc_min

zfs_arc_max

default_stksize

lwp_default_stksize

logevent_max_q_sz

segkpsize

noexec_user_stack

fsflush and Related Parameters

fsflush

tune_t_fsflushr

autoup

dopageflush

doiflush

Process-Sizing Parameters

maxusers

reserved_procs

pidmax

max_nprocs

maxuprc

ngroups_max

Paging-Related Parameters

lotsfree

desfree

minfree

throttlefree

pageout_reserve

pages_pp_maximum

tune_t_minarmem

fastscan

slowscan

min_percent_cpu

handspreadpages

pages_before_pager

maxpgio

Swapping-Related Parameters

swapfs_reserve

swapfs_minfree

Kernel Memory Allocator

kmem_flags

kmem_stackinfo

General Driver Parameters

moddebug

ddi_msix_alloc_limit

Network Driver Parameters

igb Parameters

mr_enable

intr_force

ixgbe Parameters

tx_queue_number

rx_queue_number

intr_throttling

rx_limit_per_intr

tx_ring_size

rx_ring_size

tx_copy_threshold

rx_copy_threshold

General I/O Parameters

maxphys

rlim_fd_max

rlim_fd_cur

General File System Parameters

ncsize

dnlc_dir_enable

dnlc_dir_min_size

dnlc_dir_max_size

TMPFS Parameters

tmpfs:tmpfs_maxkmem

tmpfs:tmpfs_minfree

Pseudo Terminals

pt_cnt

pt_pctofmem

pt_max_pty

STREAMS Parameters

nstrpush

strmsgsz

strctlsz

System V Message Queues

System V Semaphores

System V Shared Memory

segspt_minfree

Scheduling

disp_rechoose_interval

Timers

hires_tick

timer_max

SPARC System Specific Parameters

consistent_coloring

tsb_alloc_hiwater_factor

default_tsb_size

enable_tsb_rss_sizing

tsb_rss_factor

Locality Group Parameters

lpg_alloc_prefer

lgrp_mem_default_policy

lgrp_mem_pset_aware

3.  NFS Tunable Parameters

4.  Internet Protocol Suite Tunable Parameters

5.  Network Cache and Accelerator Tunable Parameters

6.  System Facility Parameters

A.  Tunable Parameters Change History

B.  Revision History for This Manual

Index

SPARC System Specific Parameters

The following parameters apply to sun4v and SPARC M-Series sun4u platforms.

consistent_coloring

Description

The ability to use different page placement policies on the UltraSPARC platform is available. A page placement policy attempts to allocate physical page addresses to maximize the use of the L2 cache. Whatever algorithm is chosen as the default algorithm, that algorithm can potentially provide less optimal results than another algorithm for a particular application set. This parameter changes the placement algorithm selected for all processes on the system.

Based on the size of the L2 cache, memory is divided into bins. The page placement code allocates a page from a bin when a page fault first occurs on an unmapped page. The page chosen depends on which of the three possible algorithms are used:

  • Page coloring – Various bits of the virtual address are used to determine the bin from which the page is selected. consistent_coloring is set to zero to use this algorithm. No per-process history exists for this algorithm.

  • Virtual addr=physical address – Consecutive pages in the program selects pages from consecutive bins. consistent_coloring is set to 1 to use this algorithm. No per-process history exists for this algorithm.

  • Bin-hopping – Consecutive pages in the program generally allocate pages from every other bin, but the algorithm occasionally skips more bins. consistent_coloring is set to 2 to use this algorithm. Each process starts at a randomly selected bin, and a per-process memory of the last bin allocated is kept.

Dynamic?

Yes

Validation

None. Values larger than 2 cause a number of WARNING: AS_2_BIN: bad consistent coloring value messages to appear on the console. The system hangs immediately thereafter. A power-cycle is required to recover.

When to Change

When the primary workload of the system is a set of long-running high-performance computing (HPC) applications. Changing this value might provide better performance. File servers, database servers, and systems with a number of active processes (for example, compile or time sharing servers) do not benefit from changes.

Commitment Level

Unstable

tsb_alloc_hiwater_factor

Description

Initializes tsb_alloc_hiwater to impose an upper limit on the amount of physical memory that can be allocated for translation storage buffers (TSBs) as follows:

tsb_alloc_hiwater = physical memory (bytes) / tsb_alloc_hiwater_factor

When the memory that is allocated to TSBs is equal to the value of tsb_alloc_hiwater, the TSB memory allocation algorithm attempts to reclaim TSB memory as pages are unmapped.

Exercise caution when using this factor to increase the value of tsb_alloc_hiwater. To prevent system hangs, the resulting high water value must be considerably lower than the value of swapfs_minfree and segspt_minfree.

Data Type

Integer

Default

32

Range

1 to MAXINIT

Note that a factor of 1 makes all physical memory available for allocation to TSBs, which could cause the system to hang. A factor that is too high will not leave memory available for allocation to TSBs, decreasing system performance.

Dynamic?

Yes

Validation

None

When to Change

Change the value of this parameter if the system has many processes that attach to very large shared memory segments. Under most circumstances, tuning of this variable is not necessary.

Commitment Level

Unstable

default_tsb_size

Description

Selects size of the initial translation storage buffers (TSBs) allocated to all processes.

Data Type

Integer

Default

Default is 0 (8 KB), which corresponds to 512 entries

Range

Possible values are:

Value
Description
0
8 KB
1
16 KB
3
32 KB
4
128 KB
5
256 KB
6
512 KB
7
1 Mbyte
Dynamic?

Yes

Validation

None

When to Change

Generally, you do not need to change this value. However, doing so might provide some advantages if the majority of processes on the system have a larger than average working set, or if resident set size (RSS) sizing is disabled.

Commitment Level

Unstable

enable_tsb_rss_sizing

Description

Enables a resident set size (RSS) based TSB sizing heuristic.

Data Type

Boolean

Default

1 (TSBs can be resized)

Range

0 (TSBs remain at tsb_default_size) or 1 (TSBs can be resized)

If set to 0, then tsb_rss_factor is ignored.

Dynamic?

Yes

Validation

Yes

When to Change

Can be set to 0 to prevent growth of the TSBs. Under most circumstances, this parameter should be left at the default setting.

Commitment Level

Unstable

tsb_rss_factor

Description

Controls the RSS to TSB span ratio of the RSS sizing heuristic. This factor divided by 512 yields the percentage of the TSB span which must be resident in memory before the TSB is considered as a candidate for resizing.

Data Type

Integer

Default

384, resulting in a value of 75%. Thus, when the TSB is 3/4 full, its size will be increased. Note that some virtual addresses typically map to the same slot in the TSB. Therefore, conflicts can occur before the TSB is at 100% full.

Range

0 to 512

Dynamic?

Yes

Validation

None

When to Change

If the system is experiencing an excessive number of traps due to TSB misses, for example, due to virtual address conflicts in the TSB, you might consider decreasing this value toward 0.

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.

TSB activity can be monitored with the trapstat -T command.

Commitment Level

Unstable