Tune AIX systems


 

+

Search Tips   |   Advanced Search

 

POWER6 CPU

Processor functionality on POWER6 machines (AIX v6.1) has been enhanced.

Instead of using dedicated or shared dedicated CPUs, you could choose to let your LPAR take advantage of being part of a shared pool of CPUs. An LPAR operates in three modes when it uses a shared pool: guaranteed, borrowing and donating. When your LPAR is using its entitled capacity, it isn't donating or borrowing from the shared pool. If its borrowing from the pool, then it's going over its entitled capacity and using spare cycles another LPAR isn't using. If the LPAR is donating, then it isn't using all of its entitlement, but returning its cycles to the pool for other LPARs to use.

 

TCP_TIMEWAIT

Determines the time that must elapse before TCP/IP can release a closed connection and reuse its resources. This interval between closure and release is known as the TIME_WAIT state or twice the maximum segment lifetime (2MSL) state. During this time, reopening the connection to the client and server costs less than establishing a new connection. By reducing the value of this entry, TCP/IP can release closed connections faster, providing more resources for new connections. Adjust this parameter, if the running application requires rapid release or the creation of new connections, or if a low throughput occurs due to many connections sitting in the TIME_WAIT state.

Issue the following command to set TCP_TIMEWAIT state to 15 seconds:

/usr/sbin/no –o tcp_timewait =1

 

AIX operating systems with DB2

Separating the DB2 log files from the physical database files can boost performance. You can also separate the log and the database files from the drive that contains the Journaled File System (JFS) service. AIX uses specific volume groups and file systems for the JFS logging.

Use the AIX filemon utility to view all the file system input and output and to strategically select the file system for the DB2 log files. Set the DB2 log location according to the DB2 tuning parameters topic.

The default location for the DB2 log files is often the same disk drive where the database tables are stored.

Recommended: Move the files to a disk that is separate from the DB2 data and has the minimum input or output activity.

 

AIX file descriptors (ulimit)

Various restrictions on resource usage on the user account. The ulimit -a command displays all the ulimit limits. The ulimit -a command specifies only the number of open files that are permitted. The default number of open files setting (2000) is typically sufficient for most applications. If the value set for this parameter is too low, errors might occur when opening files or establishing connections. Because this value limits the number of file descriptors that a server process might open, a value that is too low prevents optimum performance.

Perform the following steps to change the open file limit to 10,000 files:

  1. Open the command window.

  2. Edit /etc/security/limits

  3. Add the following lines to the user account that the WAS process runs on:

    nofiles = 10000
    nofiles_hard = 10000

  4. Save the changes.

  5. Restart the AIX system.

  6. To verify the result: ulimit -a

For the AIX operating system, the default setting is 2000.

Recommended: The value is application dependent and applies exclusively to application program data and the application stack.

Increasing the ulimit file descriptor limits might improve performance. Increasing some of the other limits might be needed depending on the application. Any changes to the data or stack ulimits should ensure that data+stack < 256MB (for 32-bit WAS only).

IBM recommends that you change the ulimit for data to "unlimited".

 

AIX TCP_KEEPIDLE

The keepAlive packet ensures that a connection stays in an active/ESTABLISHED state.

Use the no command to determine the current value or to set the value. The change is effective until the next time you restart the machine. To permanently change the value, add the no command to the /etc/rc.net directory. For example:

no -o tcp_keepidle=600

Default: 14400 half seconds (2 hours).

Recommended: 600 half seconds (5 minutes).

 

TCP_KEEPINTVL

Interval between packets that are sent to validate the connection.

To set the value to 5 seconds:

no -o tcp_keepintvl=10

Default: 150(1/2 seconds)

Recommended: 10(1/2 seconds)

 

TCP_KEEPINIT

Initial timeout value for TCP connection.

To set to value to 20 seconds:

no -o tcp_keepinit=40

Default: 150(1/2 seconds)

Recommended: 40(1/2 seconds)

 

Allocate large pages (16 MB) for Java virtual machines heap

Some applications require a very large heap for optimal performance. Reduce the CPU overhead of managing a large heap by using large page support that is provided by the CPU and the operating system.

The following steps allocate 4 GB of RAM as large pages (16 MB):

  1. As root user, run the following commands to reserve 4 GB of large page:

    vmo -r -o lgpg_regions=256 -o lgpg_size=16777216
    bosboot -ad /dev/ipldevice
    reboot -q

  2. After reboot, run the following command to enable large page support on the AIX operating system:

    vmo -p -o v_pinshm=1

  3. As root user, add the following capabilities for the user:

    chuser capabilities=CAP_BYPASS_RAC_VMM,CAP_PROPAGATE $USER

  4. Add the -Xlp Java options to the Java command.

    1. Click Servers > Server TypesWebSphere appservers > server_name.

    2. Under Server Infrastructure, click Java and Process Management > Process definition > Java Virtual Machine.

    3. In the Generic JVM Argument field, add -Xlp.

  5. Add the EXTSHM custom property and set to OFF.

    1. Click Servers > Server TypesWebSphere appservers > server_name.

    2. Under Server Infrastructure, click Java and Process Management > Process definition > Environment Entries > New.

    3. In the Name field, enter EXTSHM.

    4. In the Value field, enter OFF.

  6. Validate large page support is used with the following command:

    vmstat -l 1

    The "alp" column is non-zero when the application is running.

There are several concerns when enabling large pages, which can cause serious events to occur on the machine when large pages are enabled.

See: Considerations for using large pages

If we do not want to use the large pages option, there is also a medium page option. The medium page size option, which is similar, and has close to the same performance gains as large pages. However, it does not involve the problems of reserving physical memory for a specific user or process.

See the -Xlp64k option in the Tuning Java virtual machines topic.

Consider the other AIX operating system settings that are not within the scope of this document. You can adjust the following additional settings:

 

Results

This tuning procedure improves performance of WAS on the AIX operating system.

 

Next steps

After tuning the operating system for performance, consult the other tuning topics for various tuning tips.

 

Related tasks

Tuning Windows systems
Tuning Linux systems
Tuning Solaris systems
Tuning HP-UX systems