Ignorer les liens de navigation | |
Quitter l'aperu | |
Manuel de référence des paramètres réglables Oracle Solaris Oracle Solaris 11 Information Library (Français) |
1. Présentation du réglage du système Oracle Solaris
2. Paramètres réglables du noyau Oracle Solaris
Sources des informations relatives aux paramètres réglables
Paramètres généraux de la mémoire et du noyau
fsflush et paramètres connexes
Paramètres de dimensionnement des processus
Programme d'allocation de mémoire du noyau
Paramètres généraux du système de fichiers
Files d'attente de messages System V
Paramètres spécifiques à un système SPARC
Paramètres de groupe de localité
4. Paramètres réglables de la suite des protocoles Internet
5. Paramètres réglables NCA (Network Cache and Accelerator)
6. Paramètres des utilitaires du système
A. Historique des modifications des paramètres réglables
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é :
Une page est marquée comme étant non utilisée.
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.
Attention - 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.
Sert de déclencheur initial de la pagination système. Lorsque ce seuil est dépassé, l'analyseur de page se met à rechercher des pages de mémoire à récupérer.
Long non signé
La valeur la plus grande entre 1/64e de mémoire physique et 512 Ko
La valeur minimale est 512 Ko ou 1/64e de mémoire physique, la plus élevée étant retenue, exprimée en pages à l'aide de la taille de page renvoyée par getpagesize. Pour plus d'informations, reportez-vous à getpagesize(3C).
La valeur maximale est le nombre de pages de mémoire physique. La valeur maximale ne doit pas être supérieure à 30 % de la mémoire physique. Le système n'impose pas de plage autre que celle décrite dans la section Validation.
Pages
Oui, mais des changements dynamiques sont perdus si une opération DR basée sur la mémoire se produit.
Si lotsfree est supérieure à la quantité de mémoire physique, la valeur par défaut est rétablie.
La relation selon laquelle lotsfree est supérieure à desfree, qui est elle-même supérieure à minfree, doit être maintenue en permanence.
Lorsque la demande de pages est soumise à de brusques pointes, l'algorithme de mémoire risque d'être incapable d'y faire face. Une solution consiste à commencer à récupérer la mémoire à une date antérieure. Cette solution offre au système de pagination une marge supplémentaire.
Une des règles empiriques consiste à définir ce paramètre sur 2 fois ce que le système doit allouer en quelques secondes. Ce paramètre est conditionné à la charge de travail. Un serveur SGBD peut probablement fonctionner correctement avec les paramètres par défaut. Toutefois, il peut être judicieux d'ajuster ce paramètre pour un système effectuant de nombreuses E/S au niveau du système de fichiers.
Pour les systèmes dont les charges de travail sont relativement stables et qui disposent d'une grande capacité de mémoire, réduisez cette valeur. La valeur minimale acceptable est 512 Ko, exprimée sous forme de pages utilisant la taille de page renvoyée par getpagesize.
Instable
Spécifie la quantité préférée de mémoire devant être disponible à tout moment sur le système.
Entier non signé
lotsfree / 2
La valeur minimale est de 256 Ko ou 1/128e de mémoire physique, la valeur la plus élevée étant retenue, exprimée sous forme de pages utilisant la taille de page renvoyée par getpagesize.
La valeur maximale est le nombre de pages de mémoire physique. La valeur maximale ne doit pas être supérieure à 15 % de la mémoire physique. Le système n'impose pas de plage autre que celle décrite dans la section Validation.
Pages
Oui, à moins que des opérations de reconfiguration dynamique qui ajoutent ou suppriment de la mémoire se produisent. A ce stade, la valeur est redéfinie sur celle contenue dans le fichier /etc/system ou calculée à partir de la nouvelle valeur de mémoire physique.
Si desfree est supérieure à lotsfree, desfree est définie sur lotsfree / 2. Aucun message ne s'affiche.
La relation selon laquelle lotsfree est supérieure à desfree, qui est elle-même supérieure à minfree, doit être maintenue en permanence.
Plusieurs effets secondaires peuvent survenir après l'augmentation de la valeur de ce paramètre. Lorsque la nouvelle valeur se rapproche ou dépasse la quantité de mémoire disponible sur le système, les événements suivants risquent de se produire :
Les demandes d'E/S asynchrones ne sont pas traitées, sauf si la mémoire disponible dépasse desfree. L'augmentation de la valeur de desfree peut entraîner le rejet de demandes qui sinon réussiraient.
Les écritures asynchrones NFS sont exécutées en tant qu'écritures synchrones.
Le swapper est activé plus tôt et son comportement a tendance à être plus agressif.
Le système risque de ne pas précharger (charger par défaut) autant de pages exécutables que possible dans le système. Cet effet secondaire aboutit à des applications susceptibles de s'exécuter plus lentement que d'ordinaire.
Pour les systèmes dont les charges de travail sont relativement stables et qui disposent d'une grande capacité de mémoire, réduisez cette valeur. La valeur minimale acceptable est 256 Ko, exprimée sous forme de pages utilisant la taille de page renvoyée par getpagesize.
Instable
Indique le niveau de mémoire acceptable minimum. Lorsque la mémoire chute en dessous de ce nombre, le système favorise les allocations nécessaires à la réussite d'opérations de renvoi ou à l'échange de processus qui ne disposent plus du tout de mémoire. Soit l'allocation refuse, soit elle bloque les autres demandes d'allocation.
Entier non signé
desfree / 2
La valeur minimale est 128 Ko ou 1/256e de mémoire physique, la valeur la plus élevée étant retenue, exprimée sous forme de pages utilisant la taille de page renvoyée par getpagesize.
La valeur maximale est le nombre de pages de mémoire physique. La valeur maximale ne doit pas être supérieure à 7,5 % de la mémoire physique. Le système n'impose pas de plage autre que celle décrite dans la section Validation.
Pages
Oui, à moins que des opérations de reconfiguration dynamique qui ajoutent ou suppriment de la mémoire se produisent. A ce stade, la valeur est redéfinie sur celle contenue dans le fichier /etc/system ou calculée à partir de la nouvelle valeur de mémoire physique.
Si minfree est supérieure à desfree, minfree est définie sur desfree / 2. Aucun message ne s'affiche.
La relation selon laquelle lotsfree est supérieure à desfree, qui est elle-même supérieure à minfree, doit être maintenue en permanence.
La valeur par défaut convient généralement. Pour les systèmes dont les charges de travail sont relativement stables et qui disposent d'une grande capacité de mémoire, réduisez cette valeur. La valeur minimale acceptable est 128 Ko, exprimée sous forme de pages utilisant la taille de page renvoyée par getpagesize.
Instable
Indique le niveau de mémoire à partir duquel les demandes d'allocation de mémoire de blocage sont mises en veille, même si la mémoire est suffisante pour répondre à la demande.
Entier non signé
minfree
La valeur minimale est 128 Ko ou 1/256e de mémoire physique, la valeur la plus élevée étant retenue, exprimée sous forme de pages utilisant la taille de page renvoyée par getpagesize.
La valeur maximale est le nombre de pages de mémoire physique. La valeur maximale ne doit pas être supérieure à 4 % de la mémoire physique. Le système n'impose pas de plage autre que celle décrite dans la section Validation.
Pages
Oui, à moins que des opérations de reconfiguration dynamique qui ajoutent ou suppriment de la mémoire se produisent. A ce stade, la valeur est redéfinie sur celle contenue dans le fichier /etc/system ou calculée à partir de la nouvelle valeur de mémoire physique.
Si throttlefree est supérieure à desfree, throttlefree est définie sur minfree. Aucun message ne s'affiche.
La relation selon laquelle lotsfree est supérieure à desfree, qui est elle-même supérieure à minfree, doit être maintenue en permanence.
La valeur par défaut convient généralement. Pour les systèmes dont les charges de travail sont relativement stables et qui disposent d'une grande capacité de mémoire, réduisez cette valeur. La valeur minimale acceptable est 128 Ko, exprimée sous forme de pages utilisant la taille de page renvoyée par getpagesize. Pour plus d'informations, reportez-vous à getpagesize(3C).
Instable
Indique le nombre de pages réservées à l'utilisation exclusive des threads de l'ordonnanceur ou du renvoi. Lorsque la mémoire disponible est inférieure à cette valeur, les allocations non bloquantes sont refusées pour tous les processus autres que le renvoi ou l'ordonnanceur. Le renvoi doit disposer d'un petit pool de mémoire pour son utilisation afin de pouvoir allouer les structures de données nécessaires à l'E/S pour l'écriture d'une page dans son magasin de sauvegarde.
Entier non signé
throttlefree / 2
La valeur minimale est 64 Ko ou 1/512e de mémoire physique, la valeur la plus élevée étant retenue, exprimée sous forme de pages utilisant la taille de page renvoyée par getpagesize (3).
La valeur maximale est le nombre de pages de mémoire physique. La valeur maximale ne doit pas être supérieure à 2 % de la mémoire physique. Le système n'impose pas de plage autre que celle décrite dans la section Validation.
Pages
Oui, à moins que des opérations de reconfiguration dynamique qui ajoutent ou suppriment de la mémoire se produisent. A ce stade, la valeur est redéfinie sur celle contenue dans le fichier /etc/system ou calculée à partir de la nouvelle valeur de mémoire physique.
Si pageout_reserve est supérieure à throttlefree / 2, pageout_reserve est définie sur throttlefree / 2. Aucun message ne s'affiche.
La relation selon laquelle lotsfree est supérieure à desfree, qui est elle-même supérieure à minfree, doit être maintenue en permanence.
La valeur par défaut convient généralement. Pour les systèmes dont les charges de travail sont relativement stables et qui disposent d'une grande capacité de mémoire, réduisez cette valeur. La valeur minimale acceptable est 64 Ko, exprimée sous forme de pages utilisant la taille de page renvoyée par getpagesize.
Instable
Définit le nombre de pages qui doivent être déverrouillées. Si une demande de verrouillage de pages force la mémoire disponible en dessous de cette valeur, cette demande est refusée.
Long non signé
La valeur la plus grande entre (tune_t_minarmem + 100 et [4 % de mémoire disponible au moment de l'initialisation + 4 Mo])
La valeur minimale imposée par le système est tune_t_minarmem + 100. Le système n'impose pas une valeur maximale.
Pages
Oui, à moins que des opérations de reconfiguration dynamique qui ajoutent ou suppriment de la mémoire se produisent. A ce stade, la valeur est redéfinie sur celle contenue dans le fichier /etc/system ou calculée à partir de la nouvelle valeur de mémoire physique.
Si la valeur indiquée dans le fichier /etc/system ou la valeur par défaut calculée est inférieure à tune_t_minarmem + 100, la valeur est redéfinie sur tune_t_minarmem + 100.
Aucun message n'est affiché si la valeur du fichier /etc/system est augmentée. La validation est effectuée uniquement au moment de l'initialisation et au cours des opérations de reconfiguration dynamique impliquant l'ajout ou la suppression de mémoire.
Lorsque les demandes de verrouillage de mémoire ou la connexion à un segment de mémoire partagée avec l'indicateur SHARE_MMU échouent, la quantité de mémoire disponible semble être encore suffisante.
De trop grandes valeurs risquent d'entraîner l'échec inutile des demandes de verrouillage de la mémoire (mlock, mlockall et memcntl). Pour plus d'informations, reportez-vous à mlock(3C), mlockall(3C) et memcntl(2).
Instable
Définit la mémoire résidente (non remplaçable) disponible minimale à maintenir pour éviter tout interblocage Utilisée pour réserver une partie de la mémoire à une utilisation par le noyau du SE. Les pages limitées de cette manière ne sont pas visibles lorsque le SE détermine la quantité maximale de mémoire disponible.
Entier signé
25
De 1 à mémoire physique
Pages
Non
Aucune. Les grandes valeurs entraînent un gaspillage de la mémoire physique.
La valeur par défaut convient généralement. Envisagez d'augmenter la valeur par défaut si le système se bloque et si les informations de débogage indiquent qu'aucune mémoire n'était disponible.
Instable
Définit le nombre maximal de pages par seconde que le système recherche lorsque la pression sur la mémoire est plus élevée.
Entier signé
La valeur par défaut de fastscan est définie de l'une des manières suivantes :
La valeur fastscan définie dans le fichier /etc/system est utilisée.
La valeur maxfastscan définie dans le fichier /etc/system est utilisée.
Si ni fastscan ni maxfastscan ne sont définies dans le fichier /etc/system, fastscan est définie sur 64 Mo lors de l'initialisation du système. Au bout de quelques minutes après l'initialisation du système, la valeur fastscan est définie sur le nombre de pages que l'analyseur peut analyser en une seconde à l'aide de 10 % d'une CPU.
Dans ces trois cas, si la valeur déduite est supérieure à la moitié de la mémoire système, la valeur fastscan est plafonnée à la valeur de la moitié de la mémoire du système.
De 64 Mo à la moitié de la mémoire physique du système
Pages
Oui, à moins que des opérations de reconfiguration dynamique qui ajoutent ou suppriment de la mémoire se produisent. A ce stade, la valeur est redéfinie sur celle contenue dans le fichier /etc/system ou calculée à partir de la nouvelle valeur de mémoire physique.
La valeur maximale est 64 Mo ou la moitié de la mémoire physique, la plus petite des deux étant retenue.
Lorsqu'une analyse plus agressive de la mémoire est préférée au cours des périodes de déficit de mémoire, en particulier lorsque le système est soumis à des périodes de forte demande de mémoire ou lors de l'exécution d'E/S de fichier importantes.
Instable
Définit le nombre minimal de pages par seconde que le système consulte lors d'une tentative de récupération de mémoire.
Entier signé
La valeur la plus petite entre 1/20e de la mémoire physique et 100
De 1 à fastscan / 2
Pages
Oui, à moins que des opérations de reconfiguration dynamique qui ajoutent ou suppriment de la mémoire se produisent. A ce stade, la valeur est redéfinie sur celle contenue dans le fichier /etc/system ou calculée à partir de la nouvelle valeur de mémoire physique.
Si slowscan est supérieure à fastscan / 2, slowscan est redéfinie sur fastscan / 2. Aucun message ne s'affiche.
Lorsqu'une analyse plus agressive de la mémoire est préférée au cours des périodes de déficit de mémoire, en particulier lorsque le système est soumis à des périodes de forte demande de mémoire.
Instable
Définit le pourcentage minimal de CPU que pageout peut consommer. Ce paramètre est utilisé en tant que point de départ pour déterminer la durée maximale pouvant être utilisée par l'analyseur de page.
Entier signé
4
De 1 à 80
Pourcentage
Oui
Aucune
L'augmentation de cette valeur sur les systèmes dotés de plusieurs CPU et d'une grande quantité de mémoire, qui sont soumis à de fortes périodes de demande de mémoire, permet au pager de consacrer plus de temps à tenter de trouver de la mémoire.
Instable
Le SE Oracle Solaris utilise un algorithme d'horloge à deux aiguilles pour rechercher les pages candidates à la récupération lorsque la mémoire est insuffisante. La première aiguille de l'horloge parcourt la mémoire et signale les pages inutilisées. La seconde aiguille parcourt la mémoire à une certaine distance de la première et vérifie que les pages sont toujours signalées comme étant inutilisées. Si tel est le cas, ces pages sont soumises à la récupération. La distance entre la première et la seconde aiguille correspond à handspreadpages .
Long non signé
fastscan
De 1 au nombre maximum de pages de mémoire physique sur le système
Pages
Oui. Ce paramètre requiert que le paramètre de noyau reset_hands soit également défini sur une valeur non nulle. Une fois que la nouvelle valeur de handspreadpages est reconnue, reset_hands est définie sur zéro.
La valeur est définie sur la valeur la moins élevée entre la quantité de mémoire physique et la valeur handspreadpages .
Lorsque vous souhaitez augmenter la durée pendant laquelle les pages sont potentiellement résidentes avant d'être récupérées. L'augmentation de cette valeur accroît la séparation entre les aiguilles, et par conséquent, le laps de temps avant qu'une page puisse être récupérée.
Instable
Définit en partie le seuil système qui libère immédiatement des pages à l'issue d'une E/S, au lieu de les stocker pour une éventuelle réutilisation. Le seuil est lotsfree + pages_before_pager. L'environnement NFS utilise également ce seuil pour réduire ses activités asynchrones à mesure que la pression sur la mémoire s'accroît.
Entier signé
200
De 1 à la quantité de mémoire physique
Pages
Non
Aucune
Vous pouvez modifier ce paramètre lorsque la majorité des E/S est terminée pour les pages qui sont réellement lues ou écrites une seule fois et jamais plus référencées. Configurer cette variable sur une plus grande quantité de mémoire ajoute constamment des pages à la liste d'espaces libres.
Vous pouvez également modifier ce paramètre lorsque le système est soumis à des pics de pression sur la mémoire. Une valeur plus grande garantit une protection optimale contre la pression.
Instable
Définit le nombre maximal de demandes d'E/S de page, qui peuvent être mises en file d'attente par le système de pagination. Ce nombre est divisé par 4 pour obtenir la valeur maximale actuellement utilisée par le système de pagination. Ce paramètre permet de limiter le nombre de demandes et de contrôler l'échange de processus.
Entier signé
40
De 1 à un maximum variable, qui dépend de l'architecture système, mais surtout du sous-système d'E/S (nombre de contrôleurs, disques et taille de l'échange sur disque)
E/S
Non
Aucune
Le nombre maximal de demandes d'E/S du pager est limité par la taille de la liste des tampons de demande, actuellement dimensionnée à 256.
Augmentez ce paramètre pour renvoyer de la mémoire plus rapidement. Une valeur supérieure peut permettre une récupération plus rapide de la pression de la mémoire si plusieurs périphériques de swap sont configurés ou si le périphérique de swap est un périphérique d'entrelacement. Notez que le sous-système d'E/S existant doit être en mesure de traiter la charge d'E/S supplémentaire. En outre, l'augmentation des E/S de swap peut diminuer les performances d'E/S de l'application si la partition de swap et les fichiers d'application résident sur le même disque.
Instable