L'expansion mémoire ou 'memory expansion' consiste à optimiser la mémoire d'un serveur en considérant 2 sous-ensembles de données mémoire, l'un pouvant être compressé et l'autre pas.
Cette fonctionnalité apparaît avec les nouveaux serveurs Power7 et devient encore plus intéressante avec l'arrivée des Power7+.
En effet, un composant du Pseries est maintenant dédié à cette compression de la mémoire, allégeant le travail de la LPAR(CPU).
Le système AIX fait tourner un service qui analyse les données de la mémoire pour déterminer si celle-ci peut être compressée ou pas.
Les applications ne ressentent aucune différence de fonctionnement et détecte la valeur étendue et non la valeur réelle.
Toutefois, cette compression et cette analyse provoquent une certaine activité pour la partition elle-même et il est donc important de bien définir les valeurs à donner en terme de CPU physique.
La valeur de la compression correspond au facteur de compression et se définie dans le profil de la LPAR entre 1 et 10.
Ce qui signifie qu'à 1, il n'y a pas de compression, et qu'à 1,5, la mémoire gagne 50%.
Soit pour un facteur de 1,5 sur une mémoire de 50Go, nous avons :
Mémoire_étendue=Mémoire_réelle * Facteur_expansion Soit un total vu de 75Go.
Quelques pré-requis résumés pour cette fonctionnalité :
1°)HMC en V7R7.1
2°) eFW: 7.1
3°) AIX V6.1TL4SP2
Les éléments clés d'une bonne utilisation de la mémoire étendues sont principalement :
A_Capacité de compression des données mémoire.
B_Type d'accès mémoire.
C_Utilisation de la mémoire.
D_Utilisation de la mémoire virtuelle.
Il est important de savoir que si le système n'arrive pas à atteindre le taux de compression défini, les principes de pagination classiques entreront en jeu, provoquantles effets négatifs connus.
C'est pourquoi il est important d'avancer progressivement et d'utiliser le programme d'aide 'amepat', avant et après activation.Et ce durant les périodes représentatives des pics d'activité.
Ce programme fonctionne sur Power4, Power5, power6 et power7, et permet d'évaluer les optimisations envisageables lors de migration d'un système matériel vers un autre.
Exemple :
# amepat 120 # Pour une analyse sur 2 heures.
Command Invoked : amepat 2
Date/Time of invocation : Wed Aug 19 16:30:26 CEST 2015
Total Monitored time : 2 mins 25 secs
Total Samples Collected : 2
System Configuration:
---------------------
Partition Name : sic-tst-bddl1
Processor Implementation Mode : POWER7+ Mode
Number Of Logical CPUs : 36
Processor Entitled Capacity : 9.00
Processor Max. Capacity : 9.00
True Memory : 24.00 GB
SMT Threads : 4
Shared Processor Mode : Disabled
Active Memory Sharing : Disabled
Active Memory Expansion : Disabled
System Resource Statistics: Average Min Max
--------------------------- ----------- ----------- -----------
CPU Util (Phys. Processors) 0.30 [ 3%] 0.23 [ 3%] 0.37 [ 4%]
Virtual Memory Size (MB) 18980 [ 77%] 18974 [ 77%] 18987 [ 77%]
True Memory In-Use (MB) 22435 [ 91%] 22430 [ 91%] 22440 [ 91%]
Pinned Memory (MB) 7920 [ 32%] 7918 [ 32%] 7923 [ 32%]
File Cache Size (MB) 3198 [ 13%] 3197 [ 13%] 3200 [ 13%]
Available Memory (MB) 4587 [ 19%] 4581 [ 19%] 4594 [ 19%]
Active Memory Expansion Modeled Statistics:
-------------------------------------------
Modeled Expanded Memory Size : 24.00 GB
Average Compression Ratio : 6.74
Expansion Modeled True Modeled CPU Usage
Factor Memory Size Memory Gain Estimate
--------- ------------- ------------------ -----------
1.02 23.75 GB 256.00 MB [ 1%] 0.00 [ 0%]
1.20 20.00 GB 4.00 GB [ 20%] 0.00 [ 0%]
1.40 17.25 GB 6.75 GB [ 39%] 0.00 [ 0%]
1.58 15.25 GB 8.75 GB [ 57%] 0.00 [ 0%]
1.78 13.50 GB 10.50 GB [ 78%] 0.00 [ 0%]
1.96 12.25 GB 11.75 GB [ 96%] 0.00 [ 0%]
2.14 11.25 GB 12.75 GB [113%] 0.00 [ 0%]
Active Memory Expansion Recommendation:
---------------------------------------
The recommended AME configuration for this workload is to configure the LPAR
with a memory size of 11.25 GB and to configure a memory expansion factor
of 2.14. This will result in a memory gain of 113%. With this
configuration, the estimated CPU usage due to AME is approximately 0.00
physical processors, and the estimated overall peak CPU resource required for
the LPAR is 0.37 physical processors.
NOTE: amepat's recommendations are based on the workload's utilization level
during the monitored period. If there is a change in the workload's utilization
level or a change in workload itself, amepat should be run again.
The modeled Active Memory Expansion CPU usage reported by amepat is just an
estimate. The actual CPU usage used for Active Memory Expansion may be lower
or higher depending on the workload.
Le programme vous propose donc plusieurs paramétrages et en conseille un en particulier.
Comme dit précédemment, il est important de surveiller les effets de bords de ce service, car une surconsommation CPU peut dégrader les performances applicatives.
Il ne faut pas que la surconsommation annule les bénéfices de la compression mémoire.
Et si le facteur est trop haut, le système est alors en déficit et commence à paginer.
Si ce cas se présente, comme l'application est configurée avec la valeur de mémoire étendue, il est préférable de penser à augmenter la mémoire physique dans un premier, puis d'analyser les autres options possibles.
Certaines commandes AIX permettent de surveiller l'activité de mémoire étendue :
- 'vmstat -c', 'lparstat -c'
- 'svmon', 'topas'
L'AME ou memory expansion ne doit pas être confondu avec l'AMS ou mémoire partagée. Mais une autre fiche...