Suite à notre article sur l’exploitation de TPS et pour compléter notre Deep Dive sur la gestion mémoire de l’ESXi.
On va se tourner sur l’exploration des “states” ESXi sous vSphere 6, car en v5 les seuils ne sont pas les mêmes
Prérequis de lecture
Lors de la montée en charge RAM d’un hôte, celui-ci peut passer par différents états. Je dis “peut” car si l’Overcommitment n’est pas votre truc alors l’ESXi sera toujours à l’aise dans ses chaussures.
Si vous le torturez un peu voir beaucoup, vous pourriez obtenir ces 5 états avec leurs actions (Je dis bien pourriez car pas simple à observer).
Memory state |
Seuil | Actions |
High | 400% de minFree | Casse les “Larges Pages” en dessous de ce Seuil |
Clear | 100% de minFree | Casse les “Larges Pages” en dessous de ce Seuil et sollicite activement TPS pour Dédup mémoire |
Soft | 64% de minFree | TPS + Balloon |
Hard | 32% de minFree | TPS + Compress + Swap |
Low | 16% de minFree | Compress + Swap + Block de VM (la CATA) |
Qu’est ce que le “minFree”
C’est tout simplement une valeur fixe qui est calculée sur la base de la RAM totale de votre ESXi, qui associée à des seuils permettra de définir sur qu’elle “State” l’ESXi est.
Comment elle est calculée ?
Pour les premiers 28Go RAM, une valeur fixe de 899Mo est définie. Ensuite on ajoute 1% du delta RAM entre RAM total et 28Go.
Pourquoi ces 899Mo pour les premiers 28Go. Tous simplement pour les petits ESXi, cette valeur fixe permet de se garder un seuil minimum de RAM pour faire tourner le kernel.
Exemple :
avec un ESXi de 100Go
- Pour les 28Go => 899Mo
- RAM Delta => 100000 M0 – 28000 Mo = 72000 Mo
- 1 % de 72000 Mo = 720Mo
- minFree = 899 Mo + 720 Mo = 1619 Mo
Un exemple réél
Avec un ESXi de 400Go RAM (indiqué exactement 393.11Go)
Sous votre ESXi, taper “esxtop” puis “m”
- Pour les premiers 28Go (28000Mo) => 899Mo
- RAM Delta => 393110 Mo – 28000 Mo = 365110 Mo
- 1 % de 365110 Mo ≅ 3651 Mo
- minFree = 899 Mo + 3651 Mo = 4550 Mo (à quelques pouillèmes près on retrouve notre 4541 du Screeshot)
State High
Donc en reprenant notre exemple (minFree de 4541 Mo), tant que la RAM disponible est au dessus des 400% de minFree, soit 18164 Mo nous sommes dans le state High.
Nous avons 357Go de RAM disponible, bien au dessus des 400% de minFree (18Go)
Actions
L’ESXi est en mode vitesse de croisière, et n’active que le mécanisme TPS
State Clear
C’est un nouveau State qui n’existait pas sous vSphere 5, il est très similaire au “High” il se déclenche lorsque la RAM libre passe au dessous des 400% du minFree et on passe à un autre state une fois le minFree atteint.
Actions
Vu qu’on a atteint un niveau plus poussé de conso RAM l’hôte ne vas plus se baser sur le Schedule TPS, mais il va le pousser à dedup de plus en plus de RAM.
minFree à 13487 en dessous du seuil High (400%minFree = 18164)
Pour les states suivants, nous n’avons pas réussi a générer clairement et surtout de manière fixe chaque state, car les seuils étant très rapprochés les mécanismes ZIP, SWAP & Ballooning s’active très rapidement
State Soft
On ne va pas vous refaire la musique, ce state se déclenche une fois le seuil du minFree atteint et on passe à un autre state une fois 64% du minFree atteint.
Actions
On active le TPS + Ballooning
State Hard
Entre 64% minFree et 32% minFree
Actions
TPS + Compress + Swap
State Low
Entre 32% minFree et 16% minFree
Action
Si sur de la PROD, on signe la lettre de démission et on se sauve avant que tout implose.
Compression + Swap + Block de VM (la CATA)
Block : indique que toute VM qui sollicitera de la RAM seront bloquées jusqu’au retour du State “Hard”
Leave A Comment