Memory Tuning for AIX


Vmtune is located in /usr/samples/kernel/ and is part of the fileset bos.adt.samples. The current fileset level used in the e*Gate environments is bos.adt.samples-4.3.3.76. This version has the added option of “maxclient” with the –t switch.

The base method of determining minimum tuning parameters are as follows:

MaxPageAhead= 8 times the number of CPU’s with a maximum of 32. 8 * C

MinFree= 120 times the number of CPU’s. 120 * C

MaxFree= 120 plus MaxPageAhead times the number of CPU’s. ( 120 + M ) * C< /P>

MaxPerm=20 for application and 10 for database servers.

MinPerm= 5 for application and as low as 2 for a database server.

Sync_Release_ilock= 1 (turn this on for increased performance)

MaxClient= set this to the same as MaxPerm


All these vmtune settings take effect immediately. To make the settings permanent they must be set in /etc/inittab. Add the following line in inittab:

vmtune:2:once:/usr/samples/kernel/ vmtune <various needed switches> > /dev/console 2>&1


Asynchronous I/O need’s to be tuned for any database server utilizing raw partitions. The default settings for AIX are as follows:

Minimum number of servers=1

Maximum number of servers=10

Maximum number of requests=4096

You will need to increase these settings to:

Minimum number of servers= Maximum number of servers divided by 2

Maximum number of servers= 10 times the number of CPU’s on the system

Maximum number of requests=4096 to 16386 At minimum … change this value.


These changes should be made and will cause not performance hit is not needed. The kernel processes will simply not be used.


The fast-path to change AIO is : smitty aio


For more complete memory tuning above these suggested changes you must download and install “perfpmr” on your system. This will gather data on your systems unique individual performance in small snapshots of at least one minute and suggested 5 minute increments. This can be downloaded from IBM.