Manuel de référence des paramètres réglables d'Oracle® Solaris 11.2

Quitter la vue de l'impression

Mis à jour : Décembre 2014
 
 

Paramètres relatifs à la pagination

Le SE Solaris utilise un système de mémoire virtuelle paginé de demande. Au cours de l'exécution du système, les pages sont mises en mémoire, en fonction des besoins. Lorsque l'occupation de la mémoire dépasse un seuil donné et que la demande de mémoire se poursuit, la pagination commence. La pagination passe par différents niveaux, contrôlés par certains paramètres.

L'algorithme de pagination général se présente comme suit :

  • Un déficit de mémoire est constaté. Le thread de l'analyseur de page s'exécute et commence à passer en revue la mémoire. Un algorithme à deux étapes est utilisé :

    1. Une page est marquée comme étant non utilisée.

    2. Si elle n'est toujours pas utilisée après un laps de temps, la page est affichée comme objet de récupération.

    Si la page a été modifiée, une demande est effectuée auprès du thread de renvoi afin de planifier la page pour l'E/S. De plus, l'analyseur de page continue d'examiner la mémoire. Le renvoi est à l'origine de l'écriture de la page dans le magasin de sauvegarde de celle-ci et de son placement sur la liste d'espaces libres. Lorsque l'analyseur de page analyse la mémoire, aucune distinction n'est faite sur l'origine de la page. La page peut provenir d'un fichier de données ou elle peut représenter une page du texte, des données ou de la pile d'un exécutable.

  • A mesure que la pression de mémoire s'accroît sur le système, l'algorithme devient plus agressif en ce qui concerne les pages qu'il considère comme candidates à la récupération et la fréquence de l'exécution de l'algorithme de pagination. (Pour plus d'informations, reportez-vous à fastscan et slowscan.) Lorsque la mémoire disponible est comprise dans la plage lotsfree et minfree, le système augmente de manière linéaire la quantité de mémoire analysée dans chaque appel du thread de renvoi de la valeur spécifiée par slowscan à la valeur spécifiée par fastscan. Le système utilise le paramètre desfree pour contrôler un certain nombre de décisions concernant l'utilisation et le comportement des ressources.

Initialement, le système s'oblige à n'utiliser pas plus de 4 % d'une CPU pour les opérations pageout. A mesure que la pression s'accroît sur la mémoire, la quantité de temps CPU consommée pour la prise en charge des opérations pageout augmente linéairement jusqu'à ce qu'un maximum de 80 % d'une CPU soit consommé. L'algorithme examine une certaine quantité de mémoire entre slowscan et fastscan, puis s'arrête lorsque l'un des événements suivants se produit :

  • Un nombre suffisant de pages a été trouvé pour satisfaire au manque de mémoire.

  • Le nombre de pages prévu a été consulté.

  • Trop de temps s'est écoulé.

S'il manque encore de la mémoire lorsque le renvoi termine son analyse, une autre analyse est prévue pendant 1/4 de seconde à l'avenir.

Le mécanisme de configuration du sous-système de pagination a été modifié. Au lieu de dépendre d'un ensemble de valeurs prédéfinies pour fastscan, slowscan et handspreadpages, le système détermine les valeurs appropriées pour ces paramètres au moment de l'initialisation. Si vous définissez l'un de ces paramètres dans le fichier /etc/system, le système risque d'utiliser des valeurs moins qu'optimales.


Caution

Mise en garde  -  Supprimez tous les réglages du système VM dans le fichier /etc/system. Lancez l'exécution avec les paramètres par défaut et déterminez s'il est nécessaire d'ajuster l'un d'eux. Ne définissez pas cachefree ni priority_paging.


La reconfiguration dynamique (DR, Dynamic Reconfiguration) pour la CPU et la mémoire est prise en charge. Un système dans une opération DR impliquant l'ajout ou la suppression de mémoire recalcule les valeurs des paramètres pertinents, sauf s'ils ont été définis de manière explicite dans le fichier /etc/system. Dans ce cas, la valeur spécifiée dans /etc/system est utilisée, à moins qu'une contrainte sur la valeur de la variable n'ait pas été respectée. Si tel est le cas, la valeur est réinitialisée.