User Tools

Site Tools


aix:aix_tuning_param

This is an old revision of the document!


AIX tuning performance

VIOS tuning

disk

FC adapter

Check values, defined and runing

# chdev -l fcs0 -a num_cmd_elems=1024 -P
fcs0 changed

# lsattr -El fcs0 -a num_cmd_elems
num_cmd_elems 1024 Maximum Number of COMMAND Elements True       << ODM

# lsattr -Pl fcs0 -a num_cmd_elems
num_cmd_elems 400 Maximum Number of COMMAND Elements True        << Running

or AIX 7.3

# grep num_cmd /proc/sys/adapter/fc/fcs0/tunables
num_cmd_elems   ( Requested / Granted ):     1024 / 1024

or

# genkex  | grep fscsi
f10009d5a01e5000    f8000 /usr/lib/drivers/emfscsidd

# oslevel -s
7200-05-04-2220

# echo emfscsi -d fscsi0 | kdb -script | grep num_cmd
        int num_cmd_elems = 0x17C     

# printf "%d\n" 0x17C
380

# lsattr -El fcs0 -a num_cmd_elems
num_cmd_elems 400 Maximum Number of COMMAND Elements True

The lg_term_dma attribute

The lg_term_dma AIX Fibre Channel adapter attribute controls the direct memory access (DMA) memory resource that an adapter driver can use. The default value of lg_term_dma is 0x200000, and the maximum value is 0x8000000. One change is to increase the value of lg_term_dma to 0x400000. If you still experience poor I/O performance after changing the value to 0x400000, you can increase the value of this attribute again. If you have a dual-port Fibre Channel adapter, the maximum value of the lg_term_dma attribute is divided between the two adapter ports. Therefore, never increase the value of the lg_term_dma attribute to the maximum value for a dual-port Fibre Channel adapter because this value causes the configuration of the second adapter port to fail.

The max_xfer_size attribute

The max_xfer_size AIX Fibre Channel adapter attribute controls the maximum transfer size of the Fibre Channel adapter. Its default value is 100,000, and the maximum value is 1,000,000. You can increase this attribute to improve performance. Setting the max_xfer_size attribute affects the size of the memory area that is used for data transfer by the adapter. With the default value of max_xfer_size=0x100000, the area is 16 MB, and for other allowable values of the max_xfer_size attribute, the memory area is 128 MB.

LPM between P7 and P8

Only valid on P9 environment !! Remember to deactivate if lpar is pushed to a P8 server !!

A kernel scheduler tunable “vpm_fold_threshold” can be used to reduce physical CPU consumption by influencing the threshold at witch AIX unfolds or folds virtual cpu (VP) The default value is 49%. This helps P7 and P8 cpu architecture to privilege VP unfolding prior to use all threads in smt8 mode. As the P9 architecture is more optimized for multi-thread execution, it can handle larger vp fold thresholds with less single-thread performance impact.

Due to it's nature, the benefit of rising this tunable is mostly visible on lpars that have a large number of VP. This means: VP > 3

In dev environment and less real-time sensible production environments we therefore use a setting of 80% =⇒ vpm_fold_threshold = 80

In real-time sensible production, use a setting of 65-70**.

schedo

The schedo command is used to display or set the kernel scheduler tunables.

Command syntax:

[root@aix01]/root# schedo
Usage:  schedo -h [tunable] | {[-F] -L [tunable]} | {[-F] -x [tunable]}
        schedo [-p|-r] (-a [-F] | {-o tunable})
        schedo [-p|-r] [-y] (-D | ({-d tunable} {-o tunable=value}))

View:

[root@aix01]/root#  schedo -o vpm_fold_threshold
vpm_fold_threshold = 80

Set: (The new value is actif instantly)

[root@aix01]/root#  schedo -o vpm_fold_threshold=80
Setting vpm_fold_threshold to 80
Warning: a restricted tunable has been modified
aix/aix_tuning_param.1679006701.txt.gz · Last modified: 2023/03/16 23:45 by manu