There are a few performance tuning changes being introduced in AIX 5.2 that are discussed in this section:
AIX 5.2 introduces a new method that is more flexible and centralized for setting most of the AIX kernel tuning parameters. It is now possible to make permanent changes without having to edit any rc files. This is achieved by placing the reboot values for all tunable parameters in a new stanza file, /etc/tunables/nextboot. When the machine is rebooted, the values in that file are automatically applied. Another stanza file, /etc/tunables/lastboot is automatically generated with all the values as they were set just after the reboot. This provides the capability to return to those values at any time. The log file for any changes made or impossible to make during reboot is stored in /etc/tunables/lastboot.log. There are sets of SMIT panels and a WebSm plug-in also available to manipulate current and reboot values for all tuning parameters as well as the files in the /etc/tunables directory.
There are four new commands introduced in AIX 5.2 to modify the tunables files. The tunsave command is used to save values to a stanza file. The tunrestore command is used to apply a file, for example, to change all tunables parameter values to those listed in a file. The command tuncheck must be used to validate a file created manually and the tundefault command is available to reset tunable parameters to their default values. All four commands work on both current and reboot tunables parameters values. See the respective man pages for more information.
For more information about any of these kernel tuning parameter modifications, see the kernel tuning section in AIX 5L Version 5.2 Performance Tools Guide and Reference.
Vmtune and schedtune are being replaced by the newly supported commands called vmo, ioo, and schedo. Both vmo and ioo together replace vmtune, while schedo replaces schedtune. All existing parameters are covered by the new commands.
The ioo command will handle all the I/O related tuning parameters, while the vmo command will handle all the other VMM parameters previously managed by vmtune. All three commands are part of the new fileset bos.perf.tune which also contains tunsave, tunrestore, tuncheck, and tundefault. The bos.adt.samples fileset will still include the vmtune and schedtune commands, which will simply be compatibility shell scripts calling vmo, ioo, and schedo as appropriate. The compatibility scripts only support changes to parameters which can be changed interactively. That is, parameters that need bosboot and then require a reboot of the machine to be effective are no longer supported by the vmtune script. To change those parameters, users must now use vmo -r. The options (all from vmtune) and parameters in question are as follows:
vmtune option | parameter name | new command |
-C 0|1 | page coloring | vmo -r -o pagecoloring=0|1 |
-g n1
-L n2 |
large page size
number of large pages to reserve |
vmo -r -o lpg_size=n1 -o lpg_regions=n2 |
-m n | memory pools | vmo -r -o mempools=n |
-v n | number of frames per memory pool | vmo -r -o framesets=n |
-i n | interval for special data segment identifiers | vmo -r -o spec_dataseg_int=n |
-V n | number of special data segment identifiers to reserve | vmo -r -o num_spec_dataseg |
-y 0|1 | p690 memory affinity | vmo -r -o memory_affinity=0|1 |
The no and nfso commands have been enhanced to support making permanent changes to tunable parameters. They now interact with the /etc/tunables/nextboot file to achieve this new functionality. They both also have a new -h flag which can be used to display help about any parameter. The content of the help includes the purpose of the parameter, the possible values (default, range and type), and diagnostic and tuning information to decide when to change the parameter value. This information is also listed entirely in the respective man pages. Note that all five tuning commands (ioo, nfso, no, vmo, and schedo) use the same common syntax. See the respective man pages for more details and also the complete list of tuning parameters supported.
When a machine is migrated to AIX 5.2 from a previous version of AIX, it is automatically set to run in compatibility mode where the current behavior of the tuning commands, with the exception of the vmtune parameters mentioned previously, is completely preserved. Contrary to the normal AIX 5.2 tuning mode, where permanent tunable parameter settings are set by applying values from the /etc/tunables/nextboot file, in compatibility mode, it is still possible to make permanent changes to tunable parameters by embedding calls to tuning commands in scripts called during the boot process. The only perceivable difference is that the /etc/tunables/lastboot and /etc/tunables/lastboot.log files are created during reboot. The lastboot.log file contains only a warning that AIX is currently running in compatibility mode and that the nextboot file has not been applied. Furthermore, except for parameters of type Bosboot (see vmtune and schedtune changes section), none of the new reboot and permanent options ( the -r and -p flags respectively) of the tuning commands are really meaningful because the content of the file is not applied at reboot time. The tuning commands are not controlling the reboot values of parameters like they would in non-compatibility mode. Parameters of type Bosboot are preserved during migration, stored in the /etc/tunables/nextboot file, and can be modified using the -r option, even when running in compatibility mode. The /etc/tunables/nextboot file should therefore not be deleted.
The compatibility mode is controlled by a new sys0 attribute called pre520tune, which is automatically set to enable during a migration installation. In the case of a fresh installation of AIX 5.2, the attribute is set to disable. In that mode, embedded calls to tuning commands in scripts called during reboot are overwritten by the content of the nextboot file. The current setting of the pre520tune attribute can be viewed by running the following command:
# lsattr -E -l sys0
and changed either using the following command:
# chdev -l sys0 -a pre520tune=disable
or using SMIT or Websm.
When the compatibility mode is disabled, the other visible change is that the following no parameters, which are all of type Reboot (they can only be changed during reboot), cannot be changed any more without using the new -r flag.:
Switching to the non-compatibility mode while preserving the current reboot settings can be done by first changing pre520tune, and then by running the following command:
# tunrestore -r -f lastboot
which will copy the content of the lastboot file to the nextboot file. See AIX 5L Version 5.2 Kernel tuning in the AIX 5L Version 5.2 Performance Tools Guide and Reference for details about the new AIX 5.2 tuning mode.
If a machine is unstable after rebooting and pre520tune is set to enable, users should delete the offending calls to tuning commands from scripts called during reboot. To detect which parameters are set during reboot, simply look at the /etc/tunables/lastboot file and search for parameters not marked with # DEFAULT VALUE. For more information on the content of tunable files, see the tunables File Format section in AIX 5L Version 5.2 Files Reference.
Alternatively, to reset all the tunable parameters to their default values, delete the /etc/tunables/nextboot file, set pre520tune to disable, run the bosboot command, and reboot the machine.