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 
UFS Parameters 
TMPFS Parameters 
Pseudo Terminals 
STREAMS Parameters 
System V Message Queues 
System V Semaphores 
System V Shared Memory 
Scheduling 
Timers 
sun4u or sun4v Specific Parameters 
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 
 | 
      
	       	 
             
General File System Parameters
ncsize
- Description
 
Defines the number of entries in the directory name look-up cache (DNLC). This parameter is used by UFS and NFS to cache elements of path names that have been resolved. Starting with the Solaris 8 6/00 release, the DNLC also caches negative look-up information, which means it caches a name not found in the cache.   
- Data Type
 
Signed integer  
- Default
 
(4 x (v.v_proc + maxusers) + 320) + (4 x (v.v_proc + maxusers) + 320 / 100  
- Range
 
0 to MAXINT  
- Units
 
DNLC entries  
- Dynamic?
 
No   
- Validation
 
None. Larger values cause the time it takes to unmount a file system to increase as the cache must be flushed of entries for that file system during the unmount process.  
- When to Change
 
Prior to the Solaris 8 6/00 release, it was difficult to determine whether the cache was too small. You could make this inference by noting the number of entries returned by kstat -n ncstats. If the number seems high, given the system workload and file access pattern, this might be due to the size of the DNLC. Starting with the Solaris 8 6/00 release, you can use the kstat -n dnlcstats command to determine when entries have been removed from the DNLC because it was too small. The sum of the pick_heuristic and the pick_last parameters represents otherwise valid entries that were reclaimed because the cache was too small. Excessive values of ncsize have an immediate impact on the system because the system allocates a set of data structures for the DNLC based on the value of ncsize. A system running a 32-bit kernel allocates 36-byte structures for ncsize, while a system running a 64-bit kernel allocates 64-byte structures for ncsize. The value has a further effect on UFS and NFS, unless ufs_ninode and nfs:nrnode are explicitly set.  
- Commitment Level
 
Unstable  
- Change History
 
For information, see ncsize (Solaris 10 Release).  
 
rstchown
- Description
 
Indicates whether the POSIX semantics for the chown system call are in effect. POSIX semantics are as follows: 
A process cannot change the owner of a file, unless it is running with UID 0.  
A process cannot change the group ownership of a file to a group in which it is not currently a member, unless it is running as UID 0.  
For more information, see chown(2).  
- Data Type
 
Signed integer  
- Default
 
1, indicating that POSIX semantics are used  
- Range
 
0 = POSIX semantics not in force or 1 = POSIX semantics used  
- Units
 
Toggle (on/off)  
- Dynamic?
 
Yes  
- Validation
 
None  
- When to Change
 
When POSIX semantics are not wanted. Note that turning off POSIX semantics opens the potential for various security holes. Doing so also opens the possibility of a user changing ownership of a file to another user and being unable to retrieve the file without intervention from the user or the system administrator.  
- Commitment Level
 
Obsolete  
 
dnlc_dir_enable
- Description
 
Enables large directory caching 
 Note - This parameter has no effect on NFS file systems. 
 
 
- Data Type
 
Unsigned integer  
- Default
 
1 (enabled)  
- Range
 
0 (disabled) or 1 (enabled)  
- Dynamic?
 
Yes, but do not change this tunable dynamically. You can enable this parameter if it was originally disabled. Or, you can disable this parameter if it was originally enabled. However, enabling, disabling, and then enabling this parameter might lead to stale directory caches.  
- Validation
 
No  
- When to Change
 
Directory caching has no known problems. However, if problems occur, then set dnlc_dir_enable to 0 to disable caching.  
- Commitment Level
 
Unstable  
 
dnlc_dir_min_size
- Description
 
Specifies the minimum number of entries cached for one directory. 
 Note - This parameter has no effect on NFS file systems. 
 
 
- Data Type
 
Unsigned integer  
- Default
 
40  
- Range
 
0 to MAXUINT (no maximum)  
- Units
 
Entries  
- Dynamic?
 
Yes, this parameter can be changed at any time.  
- Validation
 
None  
- When to Change
 
If performance problems occur with caching small directories, then increase dnlc_dir_min_size. Note that individual file systems might have their own range limits for caching directories. For instance, UFS limits directories to a minimum of ufs_min_dir_cache bytes (approximately 1024 entries), assuming 16 bytes per entry.  
- Commitment Level
 
Unstable  
 
dnlc_dir_max_size
- Description
 
Specifies the maximum number of entries cached for one directory. 
 Note - This parameter has no effect on NFS file systems. 
 
 
- Data Type
 
Unsigned integer  
- Default
 
MAXUINT (no maximum)  
- Range
 
0 to MAXUINT   
- Dynamic?
 
Yes, this parameter can be changed at any time.  
- Validation
 
None  
- When to Change
 
If performance problems occur with large directories, then decrease dnlc_dir_max_size.  
- Commitment Level
 
Unstable  
 
segmap_percent
- Description
 
Defines the maximum amount of memory that is used for the fast-access file system cache. This pool of memory is subtracted from the free memory list.  
- Data Type
 
Unsigned integer  
- Default
 
12 percent of free memory at system startup time  
- Range
 
2 Mbytes to 100 percent of physmem  
- Units
 
% of physical memory  
- Dynamic?
 
No  
- Validation
 
None  
- When to Change
 
If heavy file system activity is expected, and sufficient free memory is available, you should increase the value of this parameter.  
- Commitment Level
 
Unstable  
 
          
       |