6.3.3. Monitoring and Memory Deficit

Some AIX performance tools have been enhanced for monitoring AME, such as vmstat, lparstat or svmon. Amepat can also be used to monitor AME.

One variable that should be monitored is the so-called memory deficit. Figure 5.7 shows how a compression rate that is too low leads to a lack of memory, the so-called memory deficit. The physical main memory size in the example is 12 GB, divided into the pool of uncompressed memory pages with 4 GB and the pool of compressed memory pages with 8 GB. In order to achieve the expanded memory size of 18 GB (AME factor is 1.5), the data in the compressed pool must be compressed with a compression rate of at least 1.75. In the example, however, a compression rate of only 1.5 was achieved. This means that only 1.5 * 8 GB = 12 GB can be accommodated in the compressed pool. Together with the 4 GB of the uncompressed pool, this results in an expanded memory size of 16 GB instead of 18 GB. So 2 GB of memory are missing. This lack of memory is known as the memory deficit and is also reported by the monitoring tools.

Resulting memory deficit of 2 GB due to a compression rate that was too low (1.5 instead of 1.75).
Figure 6.7: Resulting memory deficit of 2 GB due to a compression rate that was too low (1.5 instead of 1.75).

A memory deficit can be overcome in one of two ways:

    1. Reduction of the AME factor and thus reduction of the extended memory.
    2. Maintaining the expanded memory size by reducing the AME factor and adding additional memory to compensate.

With the above-mentioned monitoring tools, the detection of a memory deficit is very easy, here e.g. the command lparstat with the option “-c” (compression):

aix22 # lparstat -c 1
 
System configuration: type=Shared mode=Uncapped mmode=Ded-E smt=4 lcpu=16 mem=32512MB tmem=29696MB psize=16 ent=2.00
 
%user  %sys  %wait  %idle physc %entc  lbusy  vcsw phint  %xcpu xphysc    dxm
----- ----- ------ ------ ----- ----- ------ ----- ----- ------ ------ ------
31.3   1.8    0.0   66.9  1.14  57.2   12.1  1654     0    0.0 0.0000      0
 30.8   1.6    0.0   67.6  1.13  56.3   11.7  1625     0    0.0 0.0000      0
 31.5   1.7    0.0   66.8  1.14  57.0   12.0  1715     0    0.0 0.0000      0
 57.1   1.5    0.0   41.4  1.95  97.7    8.4  1789     0    0.0 0.0000      0
 32.2   1.7    0.0   66.0  1.20  60.2    8.7  1889     0    0.0 0.0000      0
 ^C
aix22 #

The columns %xcpu, xphysc and dxm are interesting here:

  • %xcpu: percentage of CPU resources used for AME
  • xphysc: consumption of physical processors for AME
  • dxm: size of the memory deficit in MB