JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Oracle Solaris Tunable Parameters Reference Manual     Oracle Solaris 10 8/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

General Driver Parameters

moddebug

ddi_msix_alloc_limit

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

segmap_percent

UFS Parameters

bufhwm and bufhwm_pct

ndquot

ufs_ninode

ufs_WRITES

ufs_LW and ufs_HW

freebehind

smallfile

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

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

Solaris Volume Manager Parameters

md_mirror:md_resync_bufsz

md:mirrored_root_flag

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

Locality Group Parameters

This section provides generic memory tunables, which apply to any SPARC or x86 system that uses a Non-Uniform Memory Architecture (NUMA).

lpg_alloc_prefer

Description

Controls a heuristic for allocation of large memory pages when the requested page size is not immediately available in the local memory group, but could be satisfied from a remote memory group.

By default, the Oracle Solaris OS allocates a remote large page if local free memory is fragmented, but remote free memory is not. Setting this parameter to 1 indicates that additional effort should be spent attempting to allocate larger memory pages locally, potentially moving smaller pages around to coalesce larger pages in the local memory group.

Data Type

Boolean

Default

0 (Prefer remote allocation if local free memory is fragmented and remote free memory is not)

Range

0 (Prefer remote allocation if local free memory is fragmented and remote free memory is not)

1 (Prefer local allocation whenever possible, even if local free memory is fragmented and remote free memory is not)

Dynamic?

No

Validation

None

When to Change

This parameter might be set to 1 if long-running programs on the system tend to allocate memory that is accessed by a single program, or if memory that is accessed by a group of programs is known to be running in the same locality group (lgroup). In these circumstances, the extra cost of page coalesce operations can be amortized over the long run of the programs.

This parameter might be left at the default value (0) if multiple programs tend to share memory across different locality groups, or if pages tend to be used for short periods of time. In these circumstances, quick allocation of the requested size tends to be more important than allocation in a particular location.

TLB miss activity might be observed by using the trapstat -T command.

Commitment Level

Uncommitted

lgrp_mem_default_policy

Description

This variable reflects the default memory allocation policy used by the Oracle Solaris OS. This variable is an integer, and its value should correspond to one of the policies listed in the sys/lgrp.h file.

Data Type

Integer

Default

1, LGRP_MEM_POLICY_NEXT indicating that memory allocation defaults to the home lgroup of the thread performing the memory allocation.

Range

Possible values are:

Value
Description
Comment
0
LGRP_MEM_POLICY_DEFAULT
use system default policy
1
LGRP_MEM_POLICY_NEXT
next to allocating thread's home lgroup
2
LGRP_MEM_POLICY_RANDOM_PROC
randomly across process
3
LGRP_MEM_POLICY_RANDOM_PSET
randomly across processor set
4
LGRP_MEM_POLICY_RANDOM
randomly across all lgroups
5
LGRP_MEM_POLICY_ROUNDROBIN
round robin across all lgroups
6
LGRP_MEM_POLICY_NEXT_CPU
near next CPU to touch memory
Dynamic?

No

Validation

None

When to Change

For applications that are sensitive to memory latencies due to allocations that occur from remote versus local memory on systems that use NUMA.

Commitment Level

Uncommitted

lgrp_mem_pset_aware

Description

If a process is running within a user processor set, this variable determines whether randomly placed memory for the process is selected from among all the lgroups in the system or only from those lgroups that are spanned by the processors in the processor set.

For more information about creating processor sets, see psrset(1M).

Data Type

Boolean

Default

0, the Oracle Solaris OS selects memory from all the lgroups in the system

Range
  • 0, the Oracle Solaris OS selects memory from all the lgroups in the system (default)

  • 1, try selecting memory only from those lgroups that are spanned by the processors in the processor set. If the first attempt fails, memory can be allocated in any lgroup.

Dynamic?

No

Validation

None

When to Change

Setting this value to a value of one (1) might lead to more reproducible performance when processor sets are used to isolate applications from one another.

Commitment Level

Uncommitted