tunables File Format

Purpose

Centralizes tunable parameter values.

Description

Tunables files contain one or more sections, called "stanzas". A stanza is started by a line containing the stanza name followed by a colon (:). There is no marking for the end of a stanza. It simply continues until another stanza starts. Each stanza contains a set of parameter or value pairs; one pair per line. The values are surrounded by double quotes ("), and an equal sign (=) separates the parameter name from its value. A parameter or a value pair must necessarily belong to a stanza. It has no meaning outside of a stanza. Two parameters which share the same name but belonging to different stanzas are considered to be different parameters. If a parameter appears several times in a stanza, only its first occurrence is used. Following occurrences are ignored. Similarly, if a stanza appears multiple times in the file, only the first occurrence is used. Everything following a number sign (#) is considered a comment and ignored. Heading and trailing blanks are also ignored.

A tunable file uses the following syntax:
# first stanza
stanza1:
    param1 = "value1"
    param2 = "value2"
    param2 = "value3" # ignored, since already defined

# another stanza
stanza2:
    param1 = "value4" # not the same parameter as param1 in stanza1

# the first stanza again
stanza1: # ignored since already defined

Tunables files currently support seven different stanzas: One for each of the tunable commands (schedo, vmo, ioo, raso, no and nfso), plus a special info stanza. The six stanzas, schedo, vmo, ioo, raso, no and nfso contain tunable parameters managed by the corresponding command For the complete parameter lists, see the display resulting from running the corresponding command lines specifying the -a or -L option.
The value of the tunable can be either a numerical value or the following literal words:
DEFAULT
This tunable's default value.
STATIC
A Static variable that is never restored.
RESTRICTED
The value for restricted tunables that have been modified so that the value is not the default value.
It is possible that a stanza contains values for non-existent parameters (in the case a tunable file was copied from a machine running an older version of AIX® and one or more tunables do not exist anymore). Both the tunrestore and the tuncheck commands will print warnings about such parameters.
The info stanza is used to store information about the purpose of the tunable file and the level of AIX on which it was validated. However, any parameter is acceptable in this stanza some fields have a special meaning:
Item Description
Description A character string describing the tunable file. SMIT displays this field in the file selection box.
AIX_level AIX version. This field is automatically updated by tunsave and tuncheck (on success only).
Kernel_type: MP64" this is a 64-bits multiprocessor kernel. This field is automatically updated by tunsave and tuncheck (on success only).
Last_validation The date this file was validated for the last time, and the type of validation: "current" the file has been validated against the current context. "reboot" the file has been validated against the nextboot context. This field is automatically updated by tunsave and tuncheck (on success only).
Logfile_checksum The checksum of the lastboot.log file matching this tunables file. This field is present only in the lastboot file.
Other stanzas like info, schedo, vmo, ioo, raso, no and nfso may be present. These stanzas are simply ignored by the tunrestore command, but flagged by the tuncheck command.
Three files under /etc/tunables have special names and meaning:
Item Description
nextboot This file is automatically applied at boot time. The bosboot command also gets the value of Bosboot types tunables from this file. It contains all tunable settings made permanent.
lastboot This file is automatically generated at boot time. It contains the full set of tunable parameters, with their values after the last boot. Default values are marked with # DEFAULT VALUE. Restricted tunables that have been modified are marked with # RESTRICTED not at default value.
lastboot.log This should be the only file in /etc/tunables that is not in the stanza format that is described here. It is automatically generated at boot time, and contains the logging of the creation of the lastboot file, that is, any parameter change that is made is logged. Any change which could not be made (possible if the nextboot file was created manually and not validated with tuncheck) is also logged.

Examples

The following is a sample tunables file:

info: 
    Description = "Set of tunables for departmental server"
    AIX_level = "5.2.0.0" 
    Kernel_type = "UP" 
    Last_validation = "2002-06-16 12:11:11 CDT current"

schedo: 
    timeslice = "2" # set timeslice to 30ms
    sched_D = "DEFAULT" # value was 123

vmo: 
    minperm = "48538"
    memory_frames = "65536" # STATIC (never restored)

ioo: 
    iotunable = "value" 

no: 
    ipforwarding = "1"
    ipsrcrouteforward = "1"
    thewall = "STATIC" # value was 131072 (never restored)

nfso: 
    nfs_allow_all_signals = "0" # DEFAULT VALUE
    nfs_device_specific_bufs = "0"

raso: 
    recovery_framework = "0"    # RESTRICTED not at default value
    recovery_debugger = "0"     # DEFAULT VALUE

Files

All the tunable files are located in the /etc/tunables directory.
Item Description
/etc/tunables/nextboot Contains the values to be applied at the next rebooting of the machine.
/etc/tunables/lastboot Contains the values for all tuning parameters after the last rebooting of the machine.
/etc/tunables/lastboot.log Contains logging information about changes that are made and errors encountered during the last rebooting of the machine.
/etc/tunable/lastdyntunupdate Contains user update values for dynamic tunables. The tunable file is created when the dynamic tunable is changed or updated by running SMIT or using the tunable modifying commands.