1 votes

Libération de la mémoire cache du système d'exploitation invité VMware RHEL5

D'après tout ce que j'ai lu, RHEL utilisera toute la RAM disponible/non utilisée pour la mise en cache afin d'augmenter les performances.

Cependant, cela devient un problème pour moi dans un environnement VMware. VMware (ESX4) attend du système d'exploitation de l'invité qu'il lui indique (ESX) quand l'invité a fini d'utiliser la mémoire afin de la rendre disponible pour un autre serveur.

Disons que j'ai un invité qui a un dB, le dB exécute un travail intensif, il se termine et maintenant il est inactif. Mais comme il a mis en cache toute la mémoire, VMware pense toujours que le serveur dB en a besoin, donc il ne libère pas la RAM pour qu'elle soit utilisée par mon serveur web qui a besoin de cette RAM supplémentaire. Bien sûr, je peux vivre avec autant d'invités que j'ai de RAM, mais c'est un gaspillage d'une énorme fonctionnalité de virtualisation, puisque dans l'ensemble mon utilisation du CPU est inférieure à 10% et mon utilisation de la RAM (pour autant que VMware le sache) est de 75%.

Des idées ?

1voto

knweiss Points 3875

Un mécanisme permettant de récupérer la mémoire de la VM du serveur de base de données dans votre exemple serait l'élément suivant Pilote VMware Balloon (qui fait partie des outils VMware) :

This is VMware physical memory management driver which acts
like a "balloon" that can be inflated to reclaim physical pages
by reserving them in the guest and invalidating them in the
monitor, freeing up the underlying machine pages so they can
be allocated to other guests. The balloon can also be deflated
to allow the guest to use more physical memory.

Voir par exemple "3.3 Ballooning" dans Comprendre la gestion des ressources mémoire dans VMware® ESX Server (pdf) .

Vous pourriez aussi exécuter ce petit script

#!/bin/sh
sync && echo 3 > /proc/sys/vm/drop_caches

dans la VM du serveur de BD pour explicitement libérez le pagecache, les dentries et les inodes si vous êtes sûr de ne plus avoir besoin des caches.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X