Guide d'administration du système Solaris Resource Manager 1.3

Mémoire virtuelle et bases de données

Solaris Resource Manager permet en outre de limiter la quantité de mémoire virtuelle utilisée par les utilisateurs et les travaux. Il ne s'agit pas d'une gestion de la mémoire physique, mais plutôt d'une restriction imposée quant à l'ampleur de la zone de swap globale employée par chaque utilisateur.

Lorsqu'un utilisateur ou un travail atteint la limite de mémoire virtuelle définie pour leur noeud limite, le système envoie une erreur d'attribution de mémoire à l'application. Ainsi, les appels à malloc() échouent. Ce code d'erreur indique à l'application que sa zone de swap est épuisée.

Peu d'applications réagissent correctement aux erreurs d'attribution de mémoire. C'est pourquoi il convient de faire en sorte qu'un serveur de base de données n'atteigne jamais sa limite de mémoire virtuelle. Si cette limite est atteinte, le moteur de la base de données risque de tomber en panne, ce qui pourrait entraîner une altération de la base de données.

Les limites de mémoire virtuelle doivent être fixées à un niveau élevé, afin de ne pas être atteintes dans des circonstances normales. De plus, la limite de mémoire virtuelle peut servir à imposer un plafond pour le serveur de base de données. Ainsi, une base de données en panne qui ne dispose pas d'une mémoire suffisante n'aura pas des répercussions négatives sur les autres bases de données et sur les travaux du système.