[Contents] [Prev. Chapter] [Next Section] [Next Chapter] [Index] [Help]

B    Configuration Attribute Definitions

This appendix lists all the attributes in the sysconfigtab file that can be modified by using the Common Desktop Environment Kernel Tuner (dxkerneltuner), the sysconfig command, and the sysconfigdb command. See Section 2.11 for information on modifying attributes.

The attributes in this appendix are grouped by subsystem. Before you can modify an attribute, you must know the subsystem to which the attribute belongs. This appendix describes attributes for the following subsystems:

This is not a complete list of the subsystems that have attributes in the sysconfigtab file. Subsystems not included in this appendix include the following: bufcall, cam, cam_disk, cam_tape, cma_dd, ddr, eisa, kds, kinfo, kio, ldtty, ppp, qvision, strstd, table_mgr, timod, tirdwr, vga, ws, and xtiso.

Some attributes have corresponding parameters whose values are specified in the system configuration file. In this appendix, if an attribute has a corresponding parameter, the name of the parameter appears in parentheses after the attribute name. If possible, always modify the attribute instead of its corresponding parameter.

In addition, attributes that can be modified at run time by using the Kernel Tuner or the sysconfig -r command are preceded by an asterisk (*).


[Contents] [Prev. Chapter] [Next Section] [Next Chapter] [Index] [Help]

B.1    AdvFS Subsystem Attributes

The AdvFS (advfs) subsystem attributes are as follows:

AdvfsCacheMaxPercent

Determines the percentage of system memory that is allocated to the AdvFS buffer cache. The minimum value is 1 percent. The maximum value is 30 percent.

Default value: 7 percent.

AdvfsMaxFragGrps

Fragment group deallocation starts when the number of fragment groups on the free list is higher than this value. The minimum value is 4. The maximum value is 8192.

Default value: 48

AdvfsMinFragGrps

Fragment group deallocation stops when the number of fragment groups on the free list is less than this value. The minimum value is 3. The maximum value is 8191.

Default value: 16

AdvfsSyncMmapPages

This attribute controls whether modified (dirty) mmapped pages are flushed to disk during a sync system call. If the AdvfsSyncMmapPages attribute is set to 1, the dirty mmapped pages are asynchronously written to disk. If the AdvfsSyncMmapPages attribute is set to 0, dirty mmapped pages are not written to disk during a sync system call.

Default value: 1

AdvfsMaxDevQLen

This attribute limits the length of the AdvFS device queue. The AdvFS device queue accepts both asynchronous I/O requests and synchronous I/O requests. When the number of requests on the device queue exceeds the value of the AdvfsMaxDevQLen attribute, only synchronous requests are accepted onto the device queue.

The minimum value is 0. The maximum value is 65536.

The default value should be appropriate for most configurations. However, you may need to modify this value for systems with very fast or very slow devices and adapters. One guideline is to specify a value for the AdvfsMaxDevQLen attribute that is less than or equal to the average number of I/O operations that can be performed in 0.5 seconds. If you do not want to limit the size of the device queue, set the value of the AdvfsMaxDevQLen parameter to 0 (zero).

Default value: 80

AdvfsReadyQLim

This attribute specifies the number of 512-byte blocks that can be on the readylazy queue before the requests are moved to the device queue. The minimum value is 0, which disables buffering on the readylazy queue. The maximum value is 32 KB.

Default value: 16 KB

AdvfsAccessMaxPercent

Specifies the maximum percentage of the malloc pool that can be allocated for access structures. The minimum value is 5. The maximum value is 95.

Default value: 80

AdvfsAccessCleanupPercent

When the percentage of access structures on the closed list reaches this value, structures are reclaimed from the closed list to populate the free list. The minimum value is 5. The maximum value is 95.

Default value: 33

AdvfsFavorBlockingQueue

Controls the movement of I/O requests from the consolidation queue to the device queue. When enabled (the default), AdvFS first issues synchronous I/O. When disabled (set to 0), asynchronous I/O is flushed to disk, regardless of synchronous I/O. DIGITAL recommends that you use the default value.

Default value: 1 (enabled)


[Contents] [Prev. Chapter] [Prev. Section] [Next Section] [Next Chapter] [Index] [Help]

B.2    TTY Subsystem Attribute

The TTY (bsd_tty) subsystem attribute is as follows:

nclist (nclist)

Controls the number of clist buffers allocated.

The TTY subsystem is specifically for the clist-based TTY subsystem. (DIGITAL UNIX has both STREAMS-based and clist-based TTY subsystems.) The clist-based TTY subsystem is used by the console and the serial ports.

Note that is is also possible to configure the pseudoterminal subsystem to be clist-based. This is accomplished by specifying the pseudodevice pty nn (default: nn = 80) in the kernel configuration file.


[Contents] [Prev. Chapter] [Prev. Section] [Next Section] [Next Chapter] [Index] [Help]

B.3    Configuration Manager Subsystem Attribute

The Configuration Manager (cm) subsystem attribute is as follows:

max_callbacks

Specifies the maximum number of registered callbacks that are allowed by the kernel at any point in time. If exceeded, an error message is issued.


[Contents] [Prev. Chapter] [Prev. Section] [Next Section] [Next Chapter] [Index] [Help]

B.4    DLI Subsystem Attributes

The Data Link Interface (DLI) (dli) subsystem attributes are as follows:

must-be-root

When enabled, requires the user of the raw socket interface to be root. Disabling must-be-root allows any user to use the raw socket interface to DLI.

DECnet and STREAMS protocol stacks use a DLI-provided raw interface to the data link. DLI also provides a raw socket interface.

Default value: 1 (enabled)

max-ifq-length

Specifies the number of received packets that are queued to DLI. If many packets are dropped, you may want to increase the value.

Default value: 512


[Contents] [Prev. Chapter] [Prev. Section] [Next Section] [Next Chapter] [Index] [Help]

B.5    Generic Kernel Subsystem Attributes

The generic kernel (generic) subsystem attributes are as follows:

binlog-buffer-size

Overrides the kernel buffer size. If the binlog-buffer-size attribute is not specified, the kernel buffer size is assigned a value at boot time, based on the amount of physical memory installed in the system. The assigned size ranges from 32 KB to 1 MB. Using the binlog-buffer-size attribute, you can specify a minimum size of 8 KB, and a maximum size of 1 MB.

booted_args

The arguments passed from osf_boot to the kernel.

booted_kernel

The name of the kernel that was loaded by osf_boot.

clock-frequency

The rate of clock interrupts per second.

Default value: 1024

cpu-enable-mask (cpu_enable_mask)

A bit mask that determines whether secondary CPUs can be started by the master CPU. The lowest order bit (bit 0) in this mask corresponds to CPU 0, which is usually the master CPU. The next highest order bit corresponds to CPU 1, and so on.

The default value for this mask is -1, which means that all CPUs present in the system are allowed to be started.

You can specify 0 for this mask to enable uniprocessor operation in a multi-CPU system. (The bit for the master CPU does not need to be set because the master CPU is always started. This bit is always set automatically at boot time.)

If lockmode has been specified as 0 or 1, all bits in the cpu_enable_mask bit mask that do not correspond to the master CPU are set to 0.

Default value: -1

dump-sp-threshold

Creates multiple-partition dumps or allows dumps to be placed on the primary swap partition, if possible. If a dump will fit on the primary swap partition and leave space that is equal to the threshold value, the dump is created as a single-volume dump on the primary swap partition, even if secondary swap partitions are available. (See the Kernel Debugging manual for details.)

Default value: 4096

kmem_debug

An interactive boot flag that is used for diagnostic purposes only.

If enabled (1), each time the kernel memory allocator allocates or deallocates memory in the kernel memory pool, the system checks whether the operation is performed correctly. If the kernel memory pool is in a corrupt state, the system crashes and provides useful debugging information.

lite-system

When enabled (1), applies values to various attributes in order to improve performance for 24-MB systems.

lockdebug (lockdebug)

Controls lock debugging. If lock debugging is enabled (lockdebug=1), the default value for lockmode will be 4. However, if you specify a value for the lockmode attribute, this value will override the lockdebug value. For example, if the value of lockmode is not 4 (that is, 0 to 3), the value of lockdebug will be 0. If the value of lockmode is 4, the value of lockdebug will be 1.

Default value: 0 (disabled)

lockmode (lockmode)

The mode of the simple lock primitive package within the kernel. Locking primitives support the following combinations of real-time (RT) kernel preemption, symmetric multiprocessing (SMP), and lock debugging with lock statistics:

The default value for lockmode is assigned at boot time depending on the values for rt_preempt_opt, cpu_enable_mask, and lockdebug, and on whether multiple CPUs are able to be booted. If a value for lockmode is specified (0-4), it overrides the default setting and disables any of the three related capabilities that cannot be supported by the chosen set of simple lock primitives.

lockmaxcycles

Used internally for debugging purposes. Do not modify.

locktimeout (locktimeout)

The number of seconds that a CPU will wait (spin) on a simple lock. If a CPU cannot acquire a simple lock in the specified amount of time, a fatal error occurs, and the system panics and issues a "simple_lock: time limit exceeded" message.

Default value: 15 (seconds)

max-lock-per-thread

The depth to which complex locks can be nested for a thread at one time. The value of max-lock-per-thread is used for debugging (in lockmode=4).

message-buffer-size msgbuf_size

The size of the message buffer that is used to store boot log messages.

Default value: 4096

old_obreak

Internal use only. Do not modify.

Default value: 1 (on)

physio_max_coalescing

Do not modify.

Controls how I/O requests are gathered when readb or writeb operations are directed at a character device (not a block device). For example, when set to 65536, eight 8-KB buffers coalesce into one 64-KB buffer. This improves the efficiency of database operations.

rt-preempt-opt (rt_preempt_opt)

Controls whether real-time kernel preemption is enabled. If real-time kernel preemption is enabled (1), the default value for lockmode will be 1 on a single-CPU system or 3 on a multi-CPU system. However, if a value for lockmode has been specified as 0 or 2, this value overrides the rt_preempt_opt value and assign rt_preempt_opt the value of 0.

Default value: 0 (disabled)

user_cfg_pt

Internal use only. Do not modify.

Default value: 0 (disabled)


[Contents] [Prev. Chapter] [Prev. Section] [Next Section] [Next Chapter] [Index] [Help]

B.6    Internet Subsystem Attributes

The Internet (inet) subsystem attributes are as follows:

inifaddr_hsize

Specifies the number of hash buckets in the kernel interface alias table (in_ifaddr). The value of the inifaddr_hsize attribute is always rounded down to the nearest power of 2. The maximum value is 512.

Default value: 32

ipdefttl

The default Internet Protocol (IP) time-to-live value.

Default value: DEFTTL

ipdirected_broadcast

Enables (1) or disables (0) a check to determine whether an IP datagram whose destination address is a directed broadcast address has been received on the interface corresponding to that broadcast address.

Default value: 0 (disabled)

ipforwarding

When enabled (1), causes a system to forward IP packets that are not addressed to the system. This functionality is usually enabled by using the /usr/sbin/iprsetup command.

Default value: 0 (disabled)

ipfragttl

Maximum time an IP fragment can spend waiting to be reassembled.

Default value: IPFRAGTTL (in units of .05 seconds)

ipgateway

When enabled (1), causes a system to forward IP packets that are not addressed to the system. This functionality is usually enabled by using the /usr/sbin/iprsetup command.

Default value: 0 (disabled)

ipport_userreserved

Specifies the number of times you can simultaneously make outgoing connections to other systems. The number of outgoing ports is the value of the ipport_userreserved attribute minus 1024. The default value of the attribute is 5000; therefore, the default number of outgoing ports is 3976. The maximum value of the ipport_userreserved attribute is 65535.

Default value: 5000

ipsendredirects

Enables (1) or disables (0) sending ICMP redirect messages.

Default value: 1 (enabled)

ipsrcroute

Enables (1) or disables (0) source routing.

Default value: 1 (enabled)

pmtu_enabled

Enables (1) or disables (0) path maximum transfer unit (PMTU) discovery.

Default value: 1 (enabled)

pmtu_decrease_intvl

Time to wait after a decrease in a PMTU value before attempting to determine if the PMTU value has increased.

Default value: PMTU_DECREASE_INTVL (in units of .05 seconds)

pmtu_increase_intvl

Time to wait after an increase in a PMTU value before attempting to determine if the PMTU has increased.

Default value: PMTU_INCREASE_INTVL (in units of .05 seconds)

pmtu_rt_check_intvl

Timer processing interval for routes participating in the PMTU discovery process.

Default value: PMTU_RT_CHECK_INTVL (in units of .05 seconds)

subnetsarelocal

When enabled (1), considers local all IP addresses that are in the same network but in a different subnet. When disabled (0), considers local only IP addresses that match a directly connected subnet.

Default value: 1 (enabled)

tcbhashsize

Number of buckets in the Transmission Control Protocol (TCP) inpcb hash table.

Default value: 32

tcp_compat_42

Enables (1) or disables (0) 4.2 BSD-compatible behavior for the initial send sequence of numbers and keepalives.

Default value: 1 (enabled)

tcp_dont_winscale

Enables (0) or disables (1) window scaling.

Default value: 0 (enabled)

tcp_keepalive_default

When set to 1, enables TCP keepalive for all sockets. Use the tcp_keepalive_default attribute to override programs that do not set keepalive on their own or you do not have access to the application sources.

Keepalive enables the periodic transmission of messages on a connected socket in order to keep connections active. If keepalive is enabled, sockets that do not exit cleanly are cleaned up when the keepalive interval expires. If keepalive is not enabled, those sockets will continue to exist until you reboot the system.

Applications enable keepalive for sockets by setting the setsockopt function's SO_KEEPALIVE option.

Default value: 0 (disabled)

tcp_keepcnt

Maximum number of keepalive probes that can be sent before a connection is dropped.

Default value: TCPTV_KEEPCNT

tcp_keepidle

Idle time before the first keepalive probe.

Default value: TCPTV_KEEP_IDLE (in units of .05 seconds)

tcp_keepinit

Initial connect timeout.

Default value: TCPTV_KEEP_INIT (in units of .05 seconds)

tcp_keepintvl

Time between keepalive probes.

Default value: TCPTV_KEEP_INTVL (in units of .05 seconds)

tcp_mssdflt

Default maximum segment size.

Default value: TCP_MSS (bytes)

tcpnodelack

Enables (0) or disables (1) delayed acknowledgments.

Default value: 0 (enabled)

tcp_msl

Determines the maximum lifetime of a TCP segment.

Default value: 60 units (30 seconds)

tcp_recvspace

Default receive buffer size for TCP sockets.

Default value: TCP_RECVSPACE (bytes)

tcp_rexmit_interval_min

Minimum amount of time between TCP retransmissions.

Default value: 1 unit (0.5 seconds)

tcprexmtthresh

Number of duplicate acknowledgments (ACKs) before retransmission.

Default value: TCPREXMTTHRESH

tcp_rttdflt

Initial assumed round-trip time.

Default value: 3 (seconds)

tcp_sendspace

Default send buffer size for TCP sockets.

Default value: TCP_SENDSPACE (bytes)

tcp_ttl

IP time-to-live for TCP packets.

Default value: TCP_TTL

tcptwreorder

Enables (1) or disables (0) the movement of TCP inpcbs in the TIME_WAIT state to the end of the inpcb list.

Default value: 1 (enabled)

tcp_urgent_42

Enables (1) or disables (0) 4.2 BSD-compatible behavior for an urgent pointer. When enabled, the urgent pointer is a pointer to the first octet of data past the urgent section. When disabled, the urgent pointer is a pointer to the last octet of data in the urgent section.

Default value: 1 (enabled)

udpcksum

Enables (1) or disables (0) Internet user datagram protocol (UDP) checksumming.

Default value: 1 (enabled)

udp_recvspace

Default receive buffer size for UDP sockets.

Default value: UDP_RECVSPACE (bytes)

udp_sendspace

Default send buffer size for UDP sockets.

Default value: UDP_SENDSPACE (bytes)

udp_ttl

IP time-to-live for UDP packets.

Default value: UDP_TTL


[Contents] [Prev. Chapter] [Prev. Section] [Next Section] [Next Chapter] [Index] [Help]

B.7    I/O Subsystem Attributes

The I/O (io) subsystem attributes are as follows:

basic-dma-window-size

Used to control the allocation of Direct Memory Access (DMA) bus space for AlphaServer 2100 systems that use high-performance cluster interconnects. To ensure adequate bus space for this hardware configuration, set the attribute to 256. For other systems or for AlphaServer 2100s without cluster interconnects, adequate bus space is provided by the usual allocation scheme, which allocates DMA bus space as a percentage of the physical memory on the system.

Default value: 0 (MB)

bdevsw_size (nblkdev)

Size of the in-memory table for the bdev switch. This table is used to access device drivers, and must be large enough to accommodate the drivers registered in the bdevsw table in the /usr/sys/system_name /conf.c file and any additional device drivers that will be dynamically loaded.

Default value: 70

cdevsw_size (nchrdev)

Size of the in-memory table for the cdev switch. This table is used to access device drivers and must be large enough to accommodate the drivers registered in the cdevsw table in the /usr/sys/system_name /conf.c file and any additional device drivers that will be dynamically loaded.

Default value: 125

cam_ccb_pool_size (cam_ccb_pool_size)

Initial size of the buffer pool free list at boot time. One Common Access Method (CAM) control block (ccb) is needed for each outstanding I/O request. Do not modify.

Default value = 200

cam_ccb_low_water (cam_ccb_low_water)

More buffers are allocated from the kernel when the number of buffers in the pool free list falls below this value. CAM reserves the number of buffers specified by the cam_ccb_low_water attribute to ensure that the kernel always has enough memory to shut down runaway processes. Do not modify.

Default value: 100

cam_ccb_increment (cam_ccb_increment)

Number of buffers either added to or removed from the buffer pool free list. Buffers are allocated as they are needed in order to handle immediate demands; however, they are deallocated carefully to prevent spikes. Do not modify.

Default value: 50 buffers

device_switch_inited

Internal use only. Do not modify.

device_switch_print

Internal use only. Do not modify.

device_switch_stale

Internal use only. Do not modify.

max-iosize-read

When nondriver kernel code needs to know the maximum size of an I/O request for a block-I/O device, it issues an ioctl call to the driver. If that ioctl fails or if the value returned is 0, the value of the max-iosize-read attribute is used.

Change the default value of this attribute only if a third-party device driver does not use the ioctl call and has a maximum size that is less than the default value in the sysconfigtab file (64 KB). (The person writing the third-party device driver must provide information, either in documentation or an installation script, on how to change the entry in the sysconfigtab file to the correct value.)

Default value: 65536

max-iosize-write

When nondriver kernel code needs to know the maximum size of an I/O request for a block-I/O device, it issues an ioctl call to the driver. If that ioctl fails or if the value returned is 0, the value of the max-iosize-write attribute is used.

Change the default value of this attribute only if a third-party device driver does not use the ioctl call and has a maximum size that is less than the default value in the sysconfigtab file (64 KB). (The person writing the third-party device driver must provide information, either in documentation or an installation script, on how to change the entry in the sysconfigtab file to the correct value.)

Default value: 65536


[Contents] [Prev. Chapter] [Prev. Section] [Next Section] [Next Chapter] [Index] [Help]

B.8    IPC Subsystem Attributes

The Interprocess Communication (IPC) (ipc) subsystem attributes are as follows:

max-kernel-ports (port_max_num)

The maximum number of kernel IPC ports that can be used on the system at one time.

Default value: (task-max * 3 + thread-max) + (thread-max * 2) + 2000

(Values of variables used to establish default value: task-max = nproc +1; thread-max = nproc *2; nproc = 20 + 8 * maxusers)

msg-max (msgmax)

Maximum size of a single System V message.

Default value: 8192 bytes (1 page)

msg-mnb (msgmnb)

Maximum number of bytes that can be queued to a single System V message queue.

Default value: 16384 bytes (2 pages)

msg-mni (msgmni)

Maximum number of System V message queues that can be used on the system at one time.

Default value: 50 (The system rounds the number to the value associated with the next higher power of two; for example, 64.)

msg-tql (msgtql)

Maximum number of messages that can be queued to a single System V message queue at one time.

Default value: 40 messages

num-of-sems (num_of_sems)

Obsolete. Not used.

port-hash-max-num (port_hash_max_num)

Number of port hash buckets that the kernel uses to manage the kernel ports.

Do not modify.

Default value: 50 * max-kernel-ports

port-reserved-max-num (port_reserved_max_num)

Maximum number of ports that can be reserved by the kernel.

Do not modify.

Default value: max-kernel-ports

sem-aem (semaem)

Maximum adjustment that can be made to any System V semaphore when a process exits.

Default value: 16384

sem-mni (semmni)

Maximum number of System V semaphores that can be used on the system at one time.

Default value: 10 (The system rounds the number to the value associated with the next higher power of two; for example, 16.)

sem-msl (semmsl)

Maximum number of System V semaphores that can be used by a single process at one time.

Default value: 25

sem-opm (semopm)

Maximum number of operations that can be outstanding on a single System V semaphore at one time.

Default value: 10

sem-ume (semume)

Maximum number of undo operations that can be outstanding on a single System V semaphore at one time.

Default value: 10

sem-vmx (semvmx)

Maximum integer value that any System V semaphore can contain.

Default value: 32767

set-max-num (set_max_num)

Maximum number of port sets that can be used by the kernel at one time. Do not modify.

Default value: task-max + thread-max + 200

(Values of variables used to establish default value: task-max = nproc +1; thread-max = nproc *2; nproc = 20 + 8 * maxusers)

shm-max (shmmax)

Maximum size, in bytes, of a single System V shared memory region.

Default value: 4194304 bytes (512 pages)

shm-min (shmmin)

Minimum size, in bytes, of a single System V shared memory region.

Default value: 1 (All requests are rounded to the next page size.)

shm-mni (shmmni)

Maximum number of shared memory regions that can be used on the system at one time.

Default value: 100 (The system rounds the number to the value associated with the next higher power of two; for example, 128.)

shm-seg (shmseg)

Maximum number of System V shared memory regions that can be attached to a single process at one time.

Default value: 32

* ssm-enable-core-dump (ssm_enable_core_dump)

If enabled (1), writes segmented shared memory contents when an application issues a core dump. Because segmented shared memory can be large, the amount of time needed to dump the region to a core file and the amount of file system space required by the operation can be extensive, especially in large database environments. Therefore, although shared memory can be useful for debugging, you may not want to include it in core files because of time and resource limitations.

This attribute can be modified at run time.

Default value: 1 (enabled)

* ssm-threshold (ssm_threshold)

When not 0, specifies the minimum size of a System V shared region for the use of shared page tables. Setting this value to 0 disables the use of shared page tables for shared memory. The size must be at least equal to the value of SSM_SIZE, which is defined in the machine/pmap.h file (the default is 8 MB).

This attribute can be modified at run time.

Default value: SSM_SIZE


[Contents] [Prev. Chapter] [Prev. Section] [Next Section] [Next Chapter] [Index] [Help]

B.9    LSM Subsystem Attributes

The Logical Storage Manager (LSM) (lsm) subsystem attributes are as follows:

lsm_rootdev_is_volume

Used by the subsystem when the root file system is on an LSM volume. Do not modify.

lsm_swapdev_is_volume

Used by the subsystem when the primary swap device is on an LSM volume. Do not modify.

max-vol

Maximum number of LSM volumes per system. The maximum number of volumes is 4096.

Default value: 1024


[Contents] [Prev. Chapter] [Prev. Section] [Next Section] [Next Chapter] [Index] [Help]

B.10    Network Subsystem Attributes

The network (net) subsystem attributes are as follows:

arptab_nb

Number of hash buckets in the address resolution protocol (ARP) table. For optimal hashing, the number should be a prime number.

Default value: 37

netisrthreads

Number of network threads configured in a system.

Default value: n (Based on the number of CPUs in a system. For a system with one processor, the value is 1. For a multiprocessing system, the value is 1 plus the number of processors.)

nslip

Number of serial line internet protocol (SLIP) lines.

Default value: 1


[Contents] [Prev. Chapter] [Prev. Section] [Next Section] [Next Chapter] [Index] [Help]

B.11    Prestoserve Subsystem Attribute

The Prestoserve (presto) attribute is as follows:

prmetaonly (prmetaonly)

Controls whether Prestoserve will cache only UFS and AdvFS file-system metadata. If the attribute is set to 1 (enabled), Prestoserve caches only file-system metadata instead of both metadata and synchronous write data. This capability may improve the performance of applications that access many small files, or applications that access a large amount of file-system metadata but do not reread recently written data.

The Prestoserve product consists of optional hardware (NVRAM) and software that must be installed on your system. See the Guide to Prestoserve for details on Prestoserve.

Default value: 0 (disabled)


[Contents] [Prev. Chapter] [Prev. Section] [Next Section] [Next Chapter] [Index] [Help]

B.12    Process Subsystem Attributes

The process (proc) subsystem attributes are as follows:

autonice (autonice)

When enabled (1), applications that use more than 600 seconds of CPU time will automatically increase their nice values (that is, lower their scheduling priorities).

Default value: 0 (disabled)

autonice-penalty

The nice value that is assigned to a process after it has used an amount of CPU time that exceeds the value of the autonice-time attribute.

Default value: 4

autonice-time

The amount of CPU time, in seconds, that a process can use before it is assigned the nice value that is specified by the autonice-penalty attribute.

Default value: 600

enhanced-core-max-versions

Specifies the maximum number of unique core files that a program can create on a host system. The miminum value is 1. The maximum value is 99,999.

Default value: 16

enhanced-core-name

When enabled (1), this attribute allows you to create multiple core file versions. When disabled, core files will be overwritten.

Default value: 0 (disabled)

give-boost (give_boost)

When enabled (1), this attribute boots the priority of processes that have recently awakened from a block I/O operation. This reduces I/O latency and may make the system more responsive.

Default value: 1 (enabled)

max-per-proc-address-space (vm_initial_limit_vas.rlim_max)

Maximum amount of user process address space.

Default value: 107374182 (1 GB)

max-per-proc-data-size (vm_initial_limit_data.rlim_max)

Maximum size of a data segment for each process.

Default value: 107374182 (1 GB)

max-per-proc-stack-size (vm_initial_limit_stack.rlim_max)

Specifies the maximum size of a user process stack.

Default value: 33554432

max-proc-per-user (maxuprc)

Maximum number of processes (tasks) that a user can create. (The superuser is not affected.)

Default value: 64

max-threads-per-user (maxuthreads)

Maximum limit of threads a user can create. (The superuser is not affected.)

maxusers (maxusers)

Number of simultaneous users that a system can support without straining system resources. System algorithms use the maxusers keyword to size various system data structures and to determine the amount of space allocated to system tables, such as the system process table.

Increasing the value of the maxusers attribute allocates more system resources to the kernel. However, it also increases the amount of physical memory consumed by the kernel. Changing the value of the maxusers attribute affects the values of other attributes, including the taskmax, threadmax, and min-free-vnodes attributes.

Default value: System dependent

ncallout (ncallout)

Obsolete. Not used.

ncallout_alloc_size

Minimum amount of memory that can be used for timeout tables. The value of this attribute is automatically adjusted. Do not modify.

open-max-hard (open_max_hard)

Hard limit for the number of file descriptors for each process. If the number of file descriptors reaches the value of the open-max-hard attribute or higher, the process is stopped. Use the getdtablesize system call to obtain the total number of file descriptors in a process' descriptor table.

Default value: 4096

open-max-soft (open_max_soft)

Specifies the soft limit for the number of file descriptors for a process. When the open-max-soft limit is reached, a warning message is issued. Use the getdtablesize system call to obtain the total number of file descriptors in a process' descriptor table. A process can increase its soft limit up to its hard limit (open-max-hard) by using the setrlimit system call.

Default value: 4096

per-proc-address-space (vm_initial_limit_vas.rlim_cur)

Specifies the maximum amount of user process address space.

Default value: 107374182 (1 GB)

per-proc-data-size (vm_initial_limit_data.rlim_cur)

Current maximum size of a data segment for each process.

Default value: 134217728

per-proc-stack-size (vm_initial_limit_stack.rlim_cur)

Specifies the maximum size of a user process stack.

Default value: 2097152

round-robin-switch-rate (round_robin_switch_rate)

Number of context switches per second that can occur between processes with the same priority. The lower the number, the less the system timeslices; the higher the number, the more the system timeslices.

sched-min-idle (sched_min_idle)

Time that a thread must remain idle on a multiprocessor system before it is eligible to migrate to another processor. This attribute is used to tune the soft affinity algorithm on multiprocessor systems. This enables a process to stay where it last ran, and thereby optimize its use of any data or instructions that it had brought into cache memory.

The sched-min-idle attribute is used for multiprocessor systems; it has no effect on single-CPU systems.

task-max (taskmax)

Maximum number of tasks that can run simultaneously on the system.

Default value: 20 + 8 * maxusers

thread-max (threadmax)

Maximum number of kernel threads that can run simultaneously on the system.

Default value: 2 * task-max


[Contents] [Prev. Chapter] [Prev. Section] [Next Section] [Next Chapter] [Index] [Help]

B.13    Pseudoterminal Subsystem Attribute

The pseudoterminal (pts) subsystem attribute is as follows:

nptys

Number of STREAMS-based pseudoterminals (ptys) that can be active on a system.

Default value: 255


[Contents] [Prev. Chapter] [Prev. Section] [Next Section] [Next Chapter] [Index] [Help]

B.14    Real-Time Subsystem Attributes

The real-time (rt) subsystem attributes are as follows:

aio-max-num

Maximum number of concurrent asynchronous I/O (AIO) requests that can be outstanding on the system at one time.

Default value: 716

aio-max-percent

Percentage of physical memory that the asynchronous I/O (AIO) database can occupy. This limits the maximum number of concurrent asynchronous I/O requests that can be set by the aio-max-num attribute.

Default value: 1 (percent)

aio-percpu-data

When disabled (0), the system's asynchronous I/O (AIO) resources are consolidated into a single database, allowing a single process to launch a number of simultaneous AIO requests up to the value of the aio-max-num attribute.

When enabled (1), the AIO database is distributed across the CPUs in the system. This improves access to AIO resources for systems running multiple processes that make simultaneous AIO requests.

The appropriate setting for the aio-percpu-data attribute depends on the characteristics of your database application.

Default value: 0 (disabled)

aio-max-retry

Number of times that the subsystem, when doing raw I/O to a device, will retry an attempt to lock a user I/O buffer into memory before returning a failure (EAGAIN).

Default value: 0

aio-retry-scale

Controls progression of wait periods between asynchronous I/O retries.

Default value: 4

aio-task-max-num

Maximum number of simultaneous asynchronous I/O requests that can be outstanding per task.

Default value: 333

sigqueue-max-num

Maximum number of signal-queuing operations that can be outstanding per process.

Default value: 64


[Contents] [Prev. Chapter] [Prev. Section] [Next Section] [Next Chapter] [Index] [Help]

B.15    Security Subsystem Attributes

The security (sec) subsystem attributes are as follows:

audit-buffer-size

Size of the audit buffer in 1-KB units. If the audit overhead is heavy, I/O performance may decline. Increasing the audit buffer size reduces I/O activity by a small amount. However, if you route audit data to a slow device (for example, to a tape device) or across a network, increasing the audit buffer size can impact I/O activity.

The minimum size is 16 KB; the maximum size is 1024 KB.

Default value: 16 KB

audit-site-events

The size, in bytes, reserved for the audit site mask. Each byte can support four site events.

Default value: 16 (bytes)

nfs-flatten-mode

Controls the permission bits of a file with access control lists (ACLs) as seen by an NFS Version 2 client. You can specify the following values for the nfs-flatten-mode attribute:

See proplistd(8) for more information.

Default value: 0


[Contents] [Prev. Chapter] [Prev. Section] [Next Section] [Next Chapter] [Index] [Help]

B.16    SNMP Information Subsystem Attribute

The Simple Network Management Protocol (SNMP) information (snmpinfo) subsystem attribute is as follows:

snmp_devs

Number of times SNMP agents can concurrently access the snmpinfo mechanism to obtain kernel information.

Default value: 12


[Contents] [Prev. Chapter] [Prev. Section] [Next Section] [Next Chapter] [Index] [Help]

B.17    Socket Subsystem

The socket (socket) subsystem attributes are as follows:

sominconn

Minimum length of the socket listen queue (backlog). The value of the sominconn attribute overrides the application-specific backlog if the value is greater than the backlog. The sominconn attribute has priority over the somaxconn attribute.

The maximum value of the sominconn attribute is 65535.

Default value: 0

somaxconn

Maximum length of the socket listen queue (backlog). The value of the somaxconn attribute overrides the application-specific backlog if the value is less than the backlog. The sominconn attribute has priority over the somaxconn attribute.

The maximum value of the somaxconn attribute is 65535.

Default value: 1024

sb_max

Maximum size of the socket buffer.

Default value: SB_MAX

sobacklog_hiwat

A read-only attribute that shows the maximum number of pending requests to any of the server sockets in the system. The initial value is 0.

sobacklog_drops

A read-only attribute that is incremented when a received SYN packet is dropped because the number of queued SYN_RCVD connections for a socket is equal to that socket's backlog limit. The initial value is 0.

somaxconn_drops

A read-only attribute that is incremented when a received SYN packet is dropped because the number of queued SYN_RCVD connections for a socket is equal to the value of the somaxconn attribute. The initial value is 0.


[Contents] [Prev. Chapter] [Prev. Section] [Next Section] [Next Chapter] [Index] [Help]

B.18    STREAMS Subsystem Attributes

The STREAMS (streams) subsystem attributes are as follows:

nstrpush

Maximum number of STREAMS modules that can be pushed on a stream. This prevents an errant user process from consuming all the available queues on a single stream.

Default value: 9

strmsgsz

Maximum size, in bytes, of the data portion of a STREAMS message. This prevents a single write or putmsg from consuming too many message blocks.

Default value: 12288 (12 KB)


[Contents] [Prev. Chapter] [Prev. Section] [Next Section] [Next Chapter] [Index] [Help]

B.19    UFS Subsystem Attributes

The UNIX File System (ufs) subsystem attributes are as follows:

create-fastlinks (create_fastlinks)

Enables (1) or disables (0) the creation of fast symbolic link files.

Default value: 1 (enabled)

inode-hash-size (inohsz)

Size of the inode hash chain table for the inode least recently used (LRU) cache.

Large inode hash chain tables spread the inode structures and may make chain lengths short. This can reduce linear searches and improve lookup speeds. In general, chains should contain only 2 or 3 elements.

The maximum value is max-vnodes/2.

Default value: 512 (slots)

nmount (nmount)

Obsolete. Replaced by the vfs subsystem's max-ufs-mounts attribute.

ufs-blkpref-lookbehind (ufs_blkpref_lookbehind)

Range of blocks behind the current block location through which to search for a free block to allocate for an indirect block write operation (for all writes other than the first).

A value greater than 1 will enable a look-behind search before writing each indirect block after the first write.

Default value: 8


[Contents] [Prev. Chapter] [Prev. Section] [Next Section] [Next Chapter] [Index] [Help]

B.20    VFS Subsystem Attributes

The Virtual File System (vfs) subsystem attributes are as follows:

bufcache (bufcache)

Percentage of memory that the kernel wires for the metadata buffer cache. Increasing the value of the bufcache attribute can improve I/O performance by providing more memory for caching UFS file system data. Increasing the value of the bufcache attribute can free memory resources. For systems that only use AdvFS, you may want to decrease the value to 1 percent.

Default value: 3 (percent) for 32-MB or larger systems; 2 (percent) for 24-MB systems

buffer-hash-size (bufhsz)

Size of the hash chain table for the metadata buffer cache. The hash chain table is used to store the heads of the hashed buffer queues. A large hash chain table distributes the buffers and may make chain lengths short. This can reduce linear searches and improve lookup speed.

Default value: 512 (slots)

fifo-do-adaptive

When set to 0 (zero), the attribute disables the pipe code that attempts to batch writes to a pipe and then deliver this data in a single call to a reader.

Default value: 1 (enabled)

* max-free-file-structures (max_free_files)

Maximum number of file structures on the free list. When the number of free file structures that are chained for reuse on the free list reaches the value of the max_free_files attribute, file structure deallocation begins.

You can modify this attribute at run time.

Default value: 0

* max-ufs-mounts (max_ufsmounts)

Maximum number of UFS or MFS file system mounts. You can increase the value of the max-ufs-mounts attribute if you want to mount more than the default number of UFS or MFS file systems. This attribute does not affect performance.

You can modify this attribute at run time.

Default value: 1000

* max-vnodes (max_vnodes)

Maximum number of vnodes (open files) on a system. The minimum value is specified by the nvnode attribute. The maximum value is the number of vnodes that 5 percent of the available memory can contain.

Increasing the value of the max-vnodes attribute allows more vnodes on a system, which may improve performance if your applications or users create a large number of open files. However, supporting more vnodes uses additional memory.

You can modify this attribute at run time.

Default value: 1000 (for 24-MB systems); the maximum value (for 32-MB or larger systems)

* min-free-vnodes (min_free_vnodes)

Minimum number of free vnodes on the free list. If the number of vnodes on the free list is less than the value of the min-free-vnodes attribute, vnodes are deallocated.

Increasing the value causes the system to cache more free vnodes and may improve performance for vnode cache lookup operations. However, a large value increases the demand for memory.

You can modify this attribute at run time.

Default value: nvnode attribute (for 32-MB or larger systems); 150 (for 24-MB systems)

name-cache-hash-size (nchsz)

Size of the hash chain table for the namei cache. Large hash chain tables distribute the namei cache elements and may make chain lengths short, which can reduce linear searches and improve lookup speeds. In general, chains should contain only 2 or 3 elements.

Maximum value: name-cache-size/2

Default value: 256 slots

name-cache-size (nchsize)

Number of elements in the namei cache. Increasing the value of the name-cache-size attribute may improve lookup speeds, but it requires more memory. Decreasing the value can free memory. The maximum value is 2*max-vnodes*11/10.

Default value: 2*nvnode*11/10 (for 32-MB or larger systems); 150 (for 24-MB systems)

namei-cache-valid-time (ncache_valid_time)

Amount of time a namei cache entry can remain in the cache before it is discarded. A large namei-cache-valid-time attribute value will retain more vnodes references in the namei cache and improve the namei cache lookup speed; however, it will require more memory resources. A small value may cause premature deallocation of vnodes and decrease the namei cache lookup speed.

Default value: 1200 (seconds) for 32-MB or larger systems; 30 (seconds) for 24-MB systems

noadd-exec-access

Allows you to configure your system so that new executables cannot be created. This is a security feature and does not affect performance.

nvnode (nvnode)

Obsolete. Retained only for compatibility purposes. Determines the maximum and the minimum number of vnodes on a system. If you modify the value of the nvnode attribute and then reboot the system, the lockfile zone size and the specinfo_zone size allocation are also modified.

Default value: nproc+(2*maxusers)+128

path-num-max (path_num_max)

Size of the pathname zone for pathname lookup buffers. Increasing the value of path-num-max increases the number of elements in the zone that is allocated for pathnames.

Default value: 64 (zone elements)

pipe-maxbuf-siz

Maximum number of bytes buffered per pipe.

Default value: 65536 (64 KB)

pipe-single-write-max

Maximum size of a single write to a pipe.

Default value: -1

pipe-databuf-size

Number of data bytes in each pipe data buffer.

Default value: 8192 (bytes)

pipe-max-bytes-all-pipes

Maximum number of bytes reserved for all pipes.

Default value: 819200 (bytes)

special-vnode-alias-tbl-size (spechsz)

Size of the special vnodes alias table for vnodes of special device files, such as character-I/O or block-I/O device files. Increasing the table size allows you to create more special device files.

Default value: 64

sys-v-mode (sys_v_mode)

Obsolete System V attribute.

ucred-max (ucred_max)

Obsolete.

* vnode-age (vnode_age)

Amount of time that a vnode can remain on the free list before it is deallocated. You can increase the value of the vnode-age attribute to keep vnodes on the free list longer, which increases the possibility that the vnode will be successfully looked up.

You can modify this attribute at run time.

Default value: 120 (seconds) for 32-MB or larger systems; 2 (seconds) for 24-MB systems

vnode-deallocation-enable

Enables (1) or disables (0) vnode deallocation. Enabling vnode deallocation decreases memory usage because it returns to the system the memory allocated to vnodes.

Default value: 1 (enabled)


[Contents] [Prev. Chapter] [Prev. Section] [Next Section] [Next Chapter] [Index] [Help]

B.21    Virtual Memory Subsystem Attributes

The virtual memory (vm) subsystem attributes are as follows:

contig-malloc-percent

Percentage of physical memory that is reserved for contiguous physical memory allocation at boot time.

Default value: 20 (percent)

dump-user-pte-pages

Determines if the pages from the user page table are written as part of a crash dump. Enabling this functionality provides more debugging information when a system crashes.

Default value: 0 (disabled)

gh-chunks

Number of 4-MB chunks of memory reserved at boot time for shared memory use.

gh-min-seg-size

Size of a shared memory segment at which shared memory is allocated from the memory reserved for shared memory, according to the value of the gh-chunks attribute.

Default value = 8 (MB)

gh-fail-if-no-mem

When enabled (1), causes the shmget function to return a failure if the requested segment size is larger than the value of the gh-min-seg-size attribute, and if there is insufficient memory allocated by the gh-chunks attribute to satisfy the request.

Default value = 1 (enabled)

kernel-stack-guard-pages

When enabled, causes kernel stacks to be separated with unmapped guard pages. Guard pages are debugging aids that help isolate kernel stack corruption bugs caused by either overflowing or underflowing the kernel stack.

Default value: 1 (enabled)

new-wire-method

Internal use only. Do not modify.

Default value: 0 (off)

private-cache-percent

Specifies the percentage of the secondary cache that is reserved for anonymous (nonshared) memory. The default is to reserve 50 percent of the cache for anonymous memory and 50 percent for file-backed memory (shared). To cache more anonymous memory, increase the value of the private-cache-percent attribute.

Default value: 50 (percent)

ubc-borrowpercent (ubc_borrowpercent)

Percentage of memory above which the UBC is only borrowing memory from the virtual memory subsystem. Paging does not occur until the UBC has returned all its borrowed pages.

Default value: 20 (percent)

ubc-maxdirtywrites

Number of I/O operations (per second) that the virtual memory subsystem performs when the number of dirty (modified) pages in the UBC exceeds the value of the vm-ubcdirtypercent attribute.

Default value: 5

ubc-maxpercent (ubc_maxpercent)

Maximum percentage of physical memory that the UBC can use at one time.

Default value: 100 (percent)

ubc-minpercent (ubc_minpercent)

Minimum percentage of physical memory that the UBC can use.

Default value: 10 (percent)

vm-aggressive-swap

When enabled, causes the task swapper to aggressively swap out idle tasks, which prevents a low-memory condition from occurring. Aggressive task swapping allows more jobs to be run simultaneously, but it may decrease the interactive response time on a system that is excessively paging and swapping.

Default value: 0 (disabled)

vm-asyncswapbuffers (asyncswapbuffers)

Number of asynchronous I/O requests per swap partition that can be outstanding at one time. Asynchronous swap requests are used for pageout operations and for prewriting modified pages.

Default value: 4

vm-clustermap(clustermap)

Size of the kernel cluster submap, which is used to allocate the scatter/gather map for clustered file and swap I/O.

Default value: 1048576 (1 MB)

vm-clustersize (clustersize)

Maximum size of a single scatter/gather map for a clustered I/O request.

Default value: 65536 (64 KB)

vm-cowfaults (cowfaults)

Number of times that the pages of an anonymous object are copy-on-write faulted after a fork operation but before they are copied as part of the fork operation.

Default value: 4

vm-csubmapsize (csubmapsize)

Size of the kernel copy submap.

Default value: 1048576 (1 MB)

vm-heappercent (heappercent)

Percentage of physical memory allocated to the kernel heap. Many of the kernel data structures are allocated from the kernel heap. The kernel heap wires physical memory as the kernel data structures are allocated.

Default value: 7 (percent)

vm-inswappedmin (inswappedmin)

Minimum amount of time, in seconds, that a task remains in the inswapped state before it is considered a candidate for outswapping.

Default value: 1 (second)

vm-kentry_zone_size (kentry_zone_size)

Size of the kernel's map entry zone submap. Kernel map entries are reserved for both pageable and nonpageable regions of kernel virtual address space.

Default value: 16777216 (16 MB)

vm-mapentries (mapentries)

Maximum number of map entries that any process can use at one time. Each map entry describes one unique disjoint portion of a virtual address space.

Default value: 200

vm-map-index-enabled

Controls whether map entries are fully indexed. Each map entry describes one unique disjoint portion of a virtual address space. If set to 1 (enabled), map entries are indexed in all processes.

Default value: 1 (enabled)

vm-map-index-count

Controls the size of the map entry index. A large index can improve the lookup time, but may affect index rebalancing.

Default value: 64

vm-map-index-rebalance

Controls how frequently the map entry index gets rebalanced. If the difference between the longest map entry list and the shortest map entry list is greater than the value of the vm-map-index-rebalance attribute, the system will rebalance the index.

You can decrease the value of the vm-map-index-rebalance to improve the lookup time. However, this will increase the rate of rebalancing. If you increase the value of the vm-map-index-rebalance attribute, you will experience less rebalancing but have slower lookups.

Default value: 128

vm-map-index-hiwat

Controls when the system creates a map entry index. When a process allocates map entries equal to the value of the vm-map-index-count attribute multiplied by the vm-map-index-hiwat attribute, the system creates a map entry index for fast lookups.

Default value: 4

vm-map-index-lowat

Controls when the system deletes a map entry index. When a process removes enough map entries from an index so that the number of entries is less than the value of the vm-map-index-count attribute multiplied by the value of the vm-map-index-lowat attribute, the system deletes the map entry index.

Default value: 2

vm-max-rdpgio-kluster (vm_max_rdpgio_kluster)

Size of the largest pagein (read) cluster that is passed to the swap device.

Default value: 16384 (16 KB)

vm-maxvas (maxvas)

Maximum amount of virtual address space that a user process can use at one time.

Default value: 1073741824 (1 GB)

vm-maxwire (maxwire)

Maximum amount of memory that any user process can wire. (Paging activity generally increases as the amount of wired memory increases.)

Default value: 16777216 (16 MB)

vm-max-wrpgio-kluster (vm_max_wrpgio_kluster)

Size of the largest pageout (write) cluster that is passed to the swap device.

Default value: 32768 (32 KB)

vm-min-kernel-address

Base address of the kernel's virtual address space. The value can be either Oxffffffff80000000 or Oxfffffffe00000000, which sets the size of the kernel's virtual address space to either 2 GB or 8 GB, respectively. You may need to increase the kernel's virtual address space on very large (VL) systems (for example, systems with several gigabytes of physical memory and several thousand large processes).

Default value: 18446744071562067968 (2 to the power of 64)

vm-page-free-min (vm_page_free_min)

Paging begins when the number of pages on the free page list falls below this value.

Default value: 20 (pages)

vm-page-free-optimal (vm_page_free_optimal)

Hard swapping begins when the number of pages on the free page list falls below this value for five seconds.

Default value: 72 (pages)

vm-page-free-reserved (vm_page_free_reserved)

Only privileged tasks can get memory when the number of pages on the free page list falls below this value.

Default value: 10 (pages)

vm-page-free-target (vm_page_free_target)

Paging stops when the number of pages on the free page list reaches this value.

Default value: 128 (pages)

vm-page-free-hardswap

Task swapping stops when the number of pages on the free page list reaches this value.

Default value: 1280 (pages)

vm-page-free-swap

Idle task swapping begins when the number of pages on the free page list falls below this value.

Default value: 74 (pages)

vm-page-lock-count

Size of the lock array that is used to synchronize access to vm_page kernel structures. Instead of locking each page structure, the virtual address is used to hash into the lock array. Adjust this value only if excessive lock contention occurs.

Default value: 64

vm-page-prewrite-target

Maximum number of pages that the vm subsystem will prewrite to swap space if it anticipates running out of memory. The prewritten pages are the least recently referenced (LRU) pages.

Default value: 256 (pages)

vm-segmentation (segmentation)

When enabled, causes shared regions of user address space to share the page tables that map to those shared regions.

Default value: 1 (enabled)

vm-segment-cache-max (u_seg_cache_max)

Number of text segments that can be cached in the segment cache. (Applies only if you enable segmentation.)

The vm subsystem uses the segment cache to cache inactive executables and shared libraries. Because objects in the segment cache can be accessed by mapping a page table entry, it eliminates I/O delays for repeated executions and reloads.

Reducing the number of segments in the segment cache can free memory and help to reduce paging overhead. (The size of each segment depends on the text size of the executable or the shared library that is being cached.)

Default value: 50 (segments)

vm-syncswapbuffers (syncswapbuffers)

Number of synchronous I/O requests that can be outstanding to the swap partitions at one time. Synchronous swap requests are used for pagein operations and task swapping.

Default value: 128

vm-syswiredpercent (syswiredpercent)

Maximum percentage of physical memory that can be dynamically wired. The kernel and user processes use this memory for dynamically allocated data structures and address space, respectively.

Default value: 80 (percent)

vm-ubcbuffers (ubcbuffers)

Total number of UBC I/O requests that can be outstanding at one time.

Default value: 256

vm-ubcdirtypercent (ubcdirtypercent)

The UBC starts writing dirty (modified) pages when the number of dirty pages reaches this value.

Default value: 10 (percent)

vm-ubcpagesteal(ubcpagesteal)

The UBC steals file pages to satisfy the file's demand for pages when the number of pages for a file falls below this value.

Default value: 24 (file pages)

vm-ubcseqpercent (ubcseqpercent)

Specifies the maximum amount of UBC memory that can be used to cache a single file.

Default value: 10 (percent)

vm-ubcseqstartpercent (ubcseqstartpercent)

The UBC starts recognizing sequential file access and stealing the UBC LRU pages for a file to satisfy its demand for pages when the size of the UBC reaches this percentage of physical memory.

Default value: 50 (percent)

vm-vpagemax (vpagemax)

Maximum number of virtual pages within the address space for a process that can be given individual protection attributes (that is, protection attributes that differ from the protection attributes associated with the other pages in the address space).

Changing the protection attributes of a single page within a virtual memory region causes all pages within that region to be treated as though they had individual protection attributes. For example, each thread of a multithreaded task has a user stack in the stack region for the process in which they run. Because multithreaded tasks have guard pages (that is, pages that do not have read/write access) inserted between the user stacks for the threads, all pages in the stack region for the process are treated as though they have individual protection attributes.

If a stack region for a multithreaded task exceeds 16 KB pages, you may want to increase the value of the vm-vpagemax attribute.

Default value: 16384 (16 KB)

vm-zone_size(zone_size)

Percentage of physical memory that is allocated to the kernel's zone submap. Many of the dynamically allocated kernel data structures are allocated out of zones that are located in the zone submap.

Default value: 0 (percent)


[Contents] [Prev. Chapter] [Prev. Section] [Next Chapter] [Index] [Help]

B.22    XPR Subsystem Attributes

The XPR (xpr) subsystem attributes are as follows:

nxprbufs (nxprbufs)

Number of contiguous buffers allocated for XPR. Each of these buffers is of type struct xprbuf, which occupies 56 bytes. The buffers are not allocated if XPR is not turned on.

XPR is a facility that performs silent tracing using a circular buffer. XPR logs the pointer to a printf string and up to six arguments, along with a timestamp and CPU information (for multiprocessor systems), into a circular buffer.

The kernel compile-time flag XPR_DEBUG determines whether the XPR debugging facility is included in compilations. By default, the XPR facility is not included in compilations.

Default value: 0

xprflags (xprflags)

Bit mask in which each bit controls a message type. A type of message is enabled or disabled by setting the value of the corresponding bit in the xprflags mask to 1 or 0.

The mapping of the bits in the xprflags mask and the different message types are as follows:

Bit Position Message Type
 0 XPR_SYSCALLS
 1 XPR_TRAPS
 2 XPR_SCHED
 5 XPR_TCP
 6 XPR_PMAP
 7 XPR_VM_MAP
 8 XPR_VM_OBJECT
 9 XPR_VM_OBJECT_CACHE
10 XPR_VM_PAGE
11 XPR_VM_PAGEOUT
12 XPR_MEMORY_OBJECT
13 XPR_VM_FAULT
14 XPR_INODE_PAGER
15 XPR_INODE_PAGER_DATA
16 XPR_TTY
17 XPR_BIO
18 XPR_INTR
19 XPR_CACHE
20 XPR_NFS
21 XPR_SIGNAL

See the definition of the nxprbufs attribute for more information about the XPR facility.


[Contents] [Prev. Chapter] [Prev. Section] [Next Chapter] [Index] [Help]