Document Information 
Preface 
1.  Overview of Solaris System Tuning 
2.  Solaris Kernel Tunable Parameters 
Where to Find Tunable Parameter Information 
General Kernel and Memory Parameters 
fsflush and Related Parameters 
Process-Sizing Parameters 
Paging-Related Parameters 
Swapping-Related Parameters 
Kernel Memory Allocator 
General Driver Parameter 
General I/O Parameters 
General File System Parameters 
UFS Parameters 
TMPFS Parameters 
Pseudo Terminals 
STREAMS Parameters 
System V Message Queues 
System V Semaphores 
System V Shared Memory 
Scheduling 
Timers 
Solaris Volume Manager Parameters 
Network Driver Parameters 
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 
 | 
      
	       	 
             
sun4u or sun4v Specific Parameters
consistent_coloring
- Description
 
Starting with the Solaris 2.6 release, the ability to use different page placement policies on the UltraSPARC®
				  (sun4u) platform was introduced. 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. This is the default algorithm in the Solaris 8 release. 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 Kbytes)  
- Range
 
Possible values are: Value  | 
Description  | 
 
0  | 
8 Kbytes  | 
 
1  | 
16 Kbytes  | 
 
3  | 
32 Kbytes  | 
 
4  | 
128 Kbytes  | 
 
5  | 
256 Kbytes  | 
 
6  | 
512 Kbytes  | 
 
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  
 
          
       |