Commande schedo
Objectif
Gère les paramètres d'optimisation du planificateur du processeur.
Syntaxe
schedo [ -p | -r [-K]] [-y] { -o Tunable[= Newvalue]}
schedo [ -p | -r [-K]] [-y] { -d Tunable }
schedo [ -p | -r [-K]] [-y] -D
schedo [ -p | -r | -K] [-F] -a
schedo -h [Tunable]
schedo [-F] [-K] -L [Tunable]
schedo [-F] [-K] -x [Tunable]
Descriptif
La commande schedo permet de configurer les paramètres d'optimisation du planificateur. Cette commande permet de définir ou d'afficher les valeurs d'amorçage en cours ou suivantes pour tous les paramètres d'optimisation du planificateur. Cette commande permet également d'effectuer des modifications permanentes ou différées jusqu'au prochain réamorçage. En fonction de l'option utilisée, elle définit ou affiche un paramètre. L'indicateur -o effectue les deux actions. Elle permet soit d'afficher la valeur d'un paramètre, soit de définir une nouvelle valeur pour un paramètre.
- Compréhension de l'effet de la modification des paramètres optimisables
Une mauvaise utilisation de cette commande peut entraîner une dégradation des performances ou une défaillance du système d'exploitation. Assurez-vous d'avoir étudié les sections d'optimisation appropriées dans Performance management avant d'utiliser la commande schedo pour modifier les paramètres système.
Avant de modifier un paramètre optimisable, vous devez d'abord lire attentivement toutes ses caractéristiques dans la section Paramètres optimisables , puis suivre tout pointeur de référence, afin de bien comprendre son objectif.
Vous devez ensuite vous assurer que les sections de diagnostic et d'optimisation de ce paramètre s'appliquent réellement à votre situation et que la modification de la valeur de ce paramètre peut améliorer les performances de votre système.
Si les sections Diagnostic et Tuning ne contiennent que "N/A", vous ne devez jamais modifier ce paramètre, sauf indication contraire du service de développement AIX.
- Paramètres de calcul de la priorité
- La priorité de la plupart des processus utilisateur varie en fonction du temps processeur utilisé récemment par le processus. Les calculs de priorité du planificateur de processeur sont basés sur deux paramètres définis avec schedo, sched_R et sched_D. Les valeurs sched_R et sched_D sont en trente secondes (1/32), c'est-à-dire que la formule utilisée par le planificateur pour calculer le montant à ajouter à la valeur de priorité d'un processus comme pénalité pour une utilisation récente du processeur est la suivante:
CPU penalty = (recently used CPU value of the process) * (r/32)et le recalcul une fois par seconde de la valeur de processeur récemment utilisée de chaque processus est:new recently used CPU value = (old recently used CPU value of the process) * (d/32)Les valeurs par défaut de r (paramètresched_R ) et d (paramètresched_D ) sont 16. Cela permet de conserver le comportement de planification du processeur des versions précédentes du système d'exploitation. Avant d'expérimenter ces valeurs, vous devez connaître l'optimisation du planificateur de processeur dans le guide de gestion des performances.
- Paramètres de contrôle de la charge de la mémoire
- Le planificateur du système d'exploitation contrôle la charge de la mémoire en interrompant les processus lorsque la mémoire est sursollicitée. Le système ne permute pas les processus ; à la place, les pages sont volées car elles sont nécessaires pour répondre aux besoins en mémoire actuels. En règle générale, les pages sont volées à partir de processus suspendus. La mémoire est considérée comme sursollicitée lorsque la condition suivante est remplie:
Article Descriptif p * h s où : p est le nombre de pages écrites dans l'espace de pagination au cours de la dernière seconde.
h est un entier spécifié par le paramètre v_repage_hi
s est le nombre de vols de page qui se sont produits au cours de la dernière seconde.Un processus est interrompu lorsque la mémoire est sursollicitée et que la condition suivante est remplie:Article Descriptif r * p f où : r r est le nombre de repages accumulées par le processus au cours de la dernière seconde.
p est un entier spécifié par le paramètre v_repage_proc
f est le nombre de défauts de page rencontrés par le processus au cours de la dernière seconde.En outre, les processus à priorité fixe et les processus de noyau ne sont pas suspendus.
Le terme repages fait référence au nombre de pages appartenant au processus, qui ont été récupérées et qui sont peu de temps après référencées à nouveau par le processus.
L'utilisateur peut également spécifier un niveau de multiprogrammation minimal avec le paramètre v_min_process. Cela garantit qu'un nombre minimal de processus restent actifs tout au long de la période de suspension du processus. Les processus actifs sont ceux qui sont exécutables et en attente d'E-S de page. Les processus en attente d'événements et les processus suspendus ne sont pas considérés comme actifs et le processus d'attente n'est pas considéré comme actif.
Les processus suspendus peuvent être ajoutés à la combinaison lorsque le système est resté en dessous du seuil de sur-validation pendant n secondes, où n est spécifié par le paramètre v_sec_wait . Les processus sont rajoutés dans le système en fonction, d'une part, de leur priorité et, d'autre part, de la durée de leur période de suspension.
Avant d'expérimenter ces valeurs, vous devez vous familiariser avec l' optimisation du contrôle de la charge de la mémoire VMM à l'aide de la commande schedo dans le guide de gestion des performances.
- Paramètre d'incrément de tranche de temps
La commande schedo peut également être utilisée pour modifier la durée pendant laquelle le système d'exploitation permet à un processus donné de s'exécuter avant que le répartiteur ne soit appelé pour choisir un autre processus à exécuter (la tranche de temps). La valeur par défaut de cet intervalle est une graduation d'horloge unique (10 millisecondes). Le paramètre d'optimisation de tranche de temps permet à l'utilisateur de spécifier le nombre de graduations d'horloge en fonction duquel la durée de la tranche de temps doit être augmentée.
Dans AIX Version 4, ce paramètre s'applique uniquement aux unités d'exécution avec la règle de planification SCHED_RR. Voir Planification des règles pour les unités d'exécution.
- paramètre d'intervalle entre les nouvelles tentatives fork ()
Si un appel de sous-routine fork() échoue parce que l'espace de pagination disponible est insuffisant pour créer un nouveau processus, le système relance l'appel après avoir attendu pendant une période de temps spécifiée. Cet intervalle est défini avec le paramètre d'optimisation pacefork.
- Terminologie spéciale pour le traitement multitâche symétrique
Plusieurs files d'attente d'exécution sont prises en charge. Dans ce schéma, chaque processeur possède sa propre file d'attente d'exécution. Les processeurs POWER5 prennent en charge le traitement multitâche symétrique, où chaque processeur physique possède deux moteurs d'exécution, appelés unités d'exécution matérielles. Chaque unité d'exécution matérielle est essentiellement équivalente à un seul processeur. Le traitement multitâche symétrique est activé par défaut, mais il peut être désactivé (ou réactivé) de manière dynamique. Lorsque le traitement multitâche symétrique est activé, chaque unité d'exécution matérielle prend en charge une file d'attente d'exécution distincte. Par exemple, sur un système à 4 voies lorsque le traitement multitâche symétrique est désactivé ou qu'il n'est pas présent, il existe 4 files d'attente d'exécution en plus de la file d'attente d'exécution globale. Lorsque le traitement multitâche symétrique est activé, il existe 8 files d'attente d'exécution en plus de la file d'attente d'exécution globale.
Les unités d'exécution matérielles appartenant au même processeur physique sont appelées unités d'exécution apparentées. Une unité d'exécution apparentée principale est la première unité d'exécution matérielle du processeur physique. Une unité d'exécution apparentée secondaire est la deuxième unité d'exécution matérielle du processeur physique.
- Gestion des processeurs virtuels
- Il est possible de définir plus de processeurs virtuels que nécessaire pour gérer le travail dans une partition. La surcharge liée à la répartition des processeurs virtuels peut être réduite en utilisant moins de processeurs virtuels sans diminution de l'utilisation globale du processeur ou de l'absence de processeurs virtuels. Les processeurs virtuels ne sont pas supprimés de manière dynamique de la partition, mais ils ne sont pas utilisés et sont réutilisés uniquement lorsque des travaux supplémentaires sont disponibles. Chaque processeur virtuel utilise au maximum un processeur physique. Le nombre de processus virtuels requis est déterminé en arrondissant la somme de l'utilisation du processeur physique et du paramètre vpm_xvcpus :
Où nombre est le nombre de processeurs virtuels nécessaires, p_util est l'utilisation du processeur physique et vpm_xvcpus est un paramètre réglable qui indique le nombre de processeurs virtuels supplémentaires à activer. Si nombre est inférieur au nombre de processeurs virtuels actuellement activés, un processeur virtuel est désactivé. Si nombre est supérieur au nombre de processeurs virtuels actuellement activés, un processeur virtuel désactivé est activé. Les unités d'exécution connectées à un processeur virtuel désactivé sont toujours autorisées à s'exécuter sur le processeur virtuel désactivé.number = ceiling( p_util + vpm_xvcpus) - Charge du noeud
La charge de noeud, ou simplement charge, correspond à la longueur moyenne de la file d'attente d'exécution dans toutes les files d'attente d'exécution, y compris la file d'attente d'exécution globale multipliée par 256, et est fortement lissée dans le temps. Par exemple, une charge de 256 signifie que si nous avons 16 processeurs (y compris des processeurs multithreading symétriques), nous avons eu environ 16 travaux exécutables dans le système pendant les dernières millisecondes.
- Changements du mode de débit pour Power10
Lorsque les systèmes Power10 s'exécutent en mode de processeur partagé, la valeur par défaut du mode de débit pour la gestion des processeurs virtuels (VPN) est 2. Lorsque vous migrez le système vers ou depuis un système Power10, et plus tard, le système d'exploitation AIX® modifie automatiquement la valeur par défaut du mode de débit pour le VPM. Lors de l'amorçage, le système d'exploitation AIX sélectionne la valeur par défaut du paramètre réglable vpm_throughput_mode de la commande schedo en fonction du type de serveur sur lequel s'exécute la partition logique. La valeur du paramètre réglable vpm_throughput_mode sélectionnée par le système d'exploitation AIX est conservée et utilisée sur le serveur de destination. Sur les systèmes Power10 , vous pouvez passer à la valeur recommandée 2 pour le paramètre réglable vpm_throughput_mode à l'aide de la commande suivante:
schedo -d vpm_throughput_modeRemarque: Lorsque vous effectuez une migration vers ou depuis un système Power10 ou version ultérieure, il est recommandé de déplacer le niveau du système d'exploitation vers 7300-00, 7200-05-03-2147, 7200-04-05-2148, 7100-05-09-2148 ou version ultérieure. Sans cette fonction qui vous permet de modifier le paramètre réglable vpm_throughput_mode à l'aide de la commande schedo , la mise à jour des niveaux de système d'exploitation à 7200-05-00-2037, 7200-04-03-2038 et 7100-05-07-2037 peut remplacer la valeur définie pour le paramètre réglable vpm_throughput_mode .
Indicateurs
| Article | Descriptif |
|---|---|
| -a | Affiche la valeur en cours, la valeur de réamorçage (lorsqu'elle est utilisée avec l'option -r ), la valeur Live Update (lorsqu'elle est utilisée avec l'option -K ) ou les valeurs permanentes de tous les paramètres optimisables (lorsqu'elle est utilisée avec l'option -p ), une par ligne par paires Tunable = Valeur. Pour l'option permanente, une valeur n'est affichée pour un paramètre que si ses valeurs de réamorçage et en cours sont égales. Sinon, NONE s'affiche en tant que valeur. |
| -d Optimisable | Réinitialise la valeur par défaut du paramètre Tunable . Si un paramètre réglable doit être modifié (c'est-à-dire qu'il n'est actuellement pas défini sur sa valeur par défaut) et que -r n'est pas utilisé en combinaison, il ne sera pas modifié mais un avertissement s'affiche. |
| -d | Réinitialise tous les paramètres Tunable à leurs valeurs par défaut. Si les paramètres optimisables qui doivent être modifiés parce qu'ils ne sont pas définis sur leurs valeurs par défaut répondent à un ou plusieurs des ensembles de critères suivants, un message d'avertissement s'affiche et aucune modification n'est apportée: si un paramètre optimisable que vous souhaitez modifier et qui n'est actuellement pas défini sur sa valeur par défaut répond à un ou plusieurs des ensembles de critères suivants, un message d'avertissement s'affiche et aucune modification n'est apportée au paramètre:
|
| -F | Force l'affichage des paramètres optimisables restreints lorsque vous spécifiez les options -a, -L ou -x sur la ligne de commande pour répertorier tous les paramètres optimisables. Si vous ne spécifiez pas l'option -F, les paramètres restreints ne sont pas inclus, à moins qu'ils ne soient spécifiquement nommés en association avec une option d'affichage. |
| -h [Optimisable] | Affiche l'aide relative au paramètre Optimisable , le cas échéant. Sinon, affiche l'instruction de syntaxe de la commande schedo . |
| -K | Définit la valeur de paramètre réglable dans les fichiers /etc/tunables/nextboot et /etc/tunables/nextliveupdate . L'indicateur -K ne peut être utilisé qu'avec l'indicateur -r . Lorsque vous spécifiez l'indicateur -K avec les indicateurs -r et -d (ou -D), la valeur du paramètre réglable est définie sur sa valeur par défaut dans les fichiers /etc/tunables/nextboot et /etc/tunables/nextliveupdate à utiliser lors des opérations d'amorçage ou de mise à jour opérationnelle suivantes. Lorsque vous spécifiez l'indicateur -K avec l'indicateur -L ou -x , la commande schedo affiche les valeurs Live Update. |
| -L [ Optimisable ] | Répertorie les caractéristiques d'un ou de tous les paramètres optimisables, un par ligne, en utilisant le format suivant. Si vous spécifiez l'indicateur -K avec l'indicateur -L , les valeurs Live Update sont également affichées. |
| -o Optimisable [=Nouvelle valeur] | Affiche ou définit la valeur d'un paramètre réglable sur une nouvelle valeur. Le fichier " /etc/tunables/usermodified est mis à jour avec la nouvelle valeur du paramètre accordable chaque fois que vous utilisez l'indicateur " -o pour modifier la valeur d'un paramètre accordable dynamique. Si un paramètre réglable que vous souhaitez modifier répond à un ou plusieurs des critères suivants, un message d'avertissement s'affiche et aucune modification n'est apportée au paramètre :
Lorsque vous spécifiez l'indicateur -r avec l'indicateur -o sans spécifier de nouvelle valeur, la valeur d'amorçage suivante pour le paramètre réglable s'affiche. Lorsque vous spécifiez l'indicateur -K avec l'indicateur -o sans spécifier de nouvelle valeur, la valeur Live Update suivante du paramètre réglable s'affiche. Lorsque vous spécifiez l'indicateur -p avec l'indicateur -o sans spécifier de nouvelle valeur, une valeur s'affiche uniquement si les valeurs d'amorçage en cours et suivant pour le paramètre réglable sont identiques. Sinon, |
| -P | Les modifications s'appliquent aux valeurs en cours et de réamorçage, lorsqu'elles sont utilisées en combinaison avec -o, -d ou -D, c'est-à-dire: active la mise à jour du fichier /etc/tunables/nextboot en plus de la mise à jour de la valeur en cours. Ces combinaisons ne peuvent pas être utilisées sur les paramètres de type Reboot et Bosboot car leur valeur en cours ne peut pas être modifiée. Lorsqu'elles sont utilisées avec -a ou -o sans spécifier de nouvelle valeur, les valeurs s'affichent uniquement si les valeurs d'amorçage en cours et suivant d'un paramètre sont identiques. Sinon, |
| -r | Les modifications s'appliquent aux valeurs de réamorçage lorsqu'elles sont utilisées en combinaison avec -o, -d ou -D, c'est-à-dire, active la mise à jour du fichier /etc/tunables/nextboot . Si un paramètre de type Bosboot est modifié, l'utilisateur est invité à exécuter bosboot. Lorsqu'elles sont utilisées avec -a ou -o sans spécifier de nouvelle valeur, les valeurs d'amorçage suivantes pour les paramètres optimisables s'affichent à la place des valeurs en cours. Lorsqu'elles sont utilisées avec l'indicateur -K , les modifications s'appliquent aux fichiers /etc/tunables/nextboot et /etc/tunables/nextliveupdate . |
| -x [Optimisable] | Répertorie les caractéristiques d'un ou de tous les paramètres optimisables, un par ligne, en utilisant le format suivant (feuille de calcul). Si vous spécifiez l'indicateur -K avec l'indicateur -x , les valeurs Live Update sont également affichées. |
| -y | Supprime l'invite de confirmation avant d'exécuter la commande bosboot . |
Si vous modifiez (avec les options -o, -dou -D ) un paramètre réglable restreint, un message d'avertissement s'affiche indiquant qu'un paramètre réglable de type usage restreint a été modifié. Si vous avez également indiqué les options -r ou -p sur la ligne de commande, vous êtes invité à confirmer la modification. En outre, au redémarrage du système, les paramètres restreints affichés dans le fichier /etc/tunables/nextboot, qui ont été modifiés pour prendre des valeurs différentes de leurs valeurs par défaut (à l'aide d'une ligne de commande spécifiant les options -r ou -p), provoquent une entrée dans le journal des erreurs qui identifie la liste de ces paramètres modifiés.
| Abréviation | Power ® de 2 |
|---|---|
| C | 1024 |
| M | 1 048 576 |
| G | 1 073 741 824 |
| T | 1 099 511 627 776 |
| P | 1 125 899 906 842 624 |
| E | 1 152 921 504 606 846 976 |
Toute modification (avec -o, -d ou -D) apportée à un paramètre de type Montage entraîne l'affichage d'un message vous avertissant que la modification n'est effective que pour les montages ultérieurs.
Toute modification (avec les indicateurs -o, -d ou -D ) apportée à un paramètre de type Connect entraîne le redémarrage de inetd , et dans un message affiché pour avertir l'utilisateur que la modification n'est effective que pour les futures connexions socket.
Toute tentative de modification (avec -o, -d ou -D) d'un paramètre de type Bosboot ou Reboot sans -rgénère un message d'erreur.
Toute tentative de modification (avec-o, -d ou -D mais sans -r) de la valeur en cours d'un paramètre de type Incremental avec une nouvelle valeur inférieure à la valeur en cours, génère un message d'erreur.
Type de paramètres optimisables
| Article | Descriptif |
|---|---|
| Dynamique | Si le paramètre peut être modifié à tout moment |
| Statique | Si le paramètre ne peut jamais être modifié |
| Réamorçage | Si le paramètre ne peut être modifié que lors du réamorçage |
| Bosboot | Si le paramètre ne peut être modifié qu'en exécutant bosboot et en redémarrant la machine |
| Montage | Si les modifications apportées au paramètre ne sont effectives que pour les futurs systèmes de fichiers ou montages de répertoire |
| Incrémentiel | Si le paramètre peut uniquement être incrémenté, sauf au moment de l'amorçage |
| Connexion | Si les modifications apportées au paramètre ne sont effectives que pour les futures connexions socket |
| Obsolète | Si la modification de ce paramètre n'est plus prise en charge par l'édition actuelle d' AIX. |
Notez que l'ensemble de paramètres en cours géré par la commande schedo inclut uniquement les types Dynamic et Reboot.
Mode compatibilité
Lors de l'exécution en mode compatibilité 5.2 (contrôlé par l'attribut pre520tune de sys0, voir AIX 5.2 mode compatibilité dans Performance management), les valeurs de réamorçage des paramètres, à l'exception de ceux de type Bosboot, ne sont pas vraiment significatives car, dans ce mode, elles ne sont pas appliquées au moment de l'amorçage.
Dans le mode compatibilité antérieur à 5.2 , la définition des valeurs de réamorçage sur les paramètres d'optimisation continue d'être effectuée en imbrication des appels aux commandes d'optimisation dans les scripts appelés lors de la séquence d'amorçage. Les paramètres de type Reboot peuvent donc être définis sans l'indicateur -r , de sorte que les scripts existants continuent de fonctionner.
Ce mode est automatiquement activé lorsqu'une machine est définie sur AIX 5.2. Pour les installations complètes, il est désactivé et les valeurs de réamorçage des paramètres sont définies en appliquant le contenu du fichier /etc/tunables/nextboot lors de la séquence de réamorçage. Ce n'est que dans ce mode que les indicateurs -r et -p sont entièrement fonctionnels. Voir Kernel Tuning dans le document Performance Tools Guide and Reference pour plus d'informations.
paramètres ajustables
| Article | Descriptif |
|---|---|
| affinité_lim |
|
| taille_big_tick_size |
|
| seuil ded_cpu_donate_thresh |
|
| pri_fixe_global |
|
| grq_force |
|
| instructions_hachées |
|
| nbre max. de tours |
|
| pacefork |
|
| stats_disque_proc |
|
| sché_D |
|
| sché_R |
|
| tb_balance_S0 |
|
| tb_balance_S1 |
|
| seuil_tb |
|
| intervalle de temps |
|
| vpm_fold_policy |
Lorsque le pliage de processeur est activé, le paramètre vpm_vxcpus peut être utilisé pour contrôler le pliage de processeur. vpm_fold_policy contient 3 bits pour contrôler le pliage du processeur:
Vous pouvez effectuer une opération OR sur les valeurs Bit 0, Bit 1 et Bit 2 pour former la valeur souhaitée. Remarque: Si l'option économie d'énergie en veille est définie sur Activé dans l'interface ASMI (Advanced System Management Interface) et si l'utilisation du processeur passe en dessous des valeurs de seuil spécifiées, vous pouvez définir les processeurs sur un état basse fréquence ou basse tension. Vous pouvez également définir le paramètre réglable vpm_fold_policy lors de l'exécution sur 0x3.
|
| vpm_throughput_core_threshold | Indique le nombre de coeurs qui doivent être dépliés pour que le paramètre vpm_throughput_mode soit respecté. Jusque-là, le système se comporte avec la valeur du paramètre vpm_throughput_mode définie sur 1. |
| vpm_throughput_mode | Indique le niveau souhaité d'exploitation SMT pour le mode de débit mis à l'échelle. La valeur 0 indique le comportement du mode de débit brut. La valeur 1, 2ou 4 sélectionne le mode de débit mis à l'échelle et le niveau d'exploitation SMT souhaité. Sur les systèmes Power10 et versions ultérieures, la valeur par défaut du mode de débit de réseau est 2 (mode de débit mis à l'échelle) lorsque le système s'exécute en mode de traitement partagé. En mode processeur dédié et sur les systèmes POWER9 et antérieurs qui fonctionnent en mode processeur partagé, la valeur par défaut du mode de débit de VPM est 0 (mode de débit brut). |
| vpm_xvcpus |
|
Security
Exemples
- Pour répertorier la valeur en cours et la valeur de réamorçage, la plage, l'unité, le type et les dépendances de tous les paramètres optimisables gérés par la commande schedo, entrez:
schedo -L - Pour répertorier (format de feuille de calcul) la valeur en cours et la valeur de réamorçage, la plage, l'unité, le type et les dépendances de tous les paramètres optimisables gérés par la commande schedo , entrez:
schedo -x - Pour rétablir la valeur par défaut de v_sec_wait, entrez:
schedo -d v_sec_wait - Pour afficher l'aide sur sched_R, entrez:
schedo -h sched_R - Pour définir v_min_process sur 4 après le prochain réamorçage, entrez:
schedo -r -o v_min_process=4 - Pour réinitialiser définitivement tous les paramètres réglables schedo à leur valeur par défaut, entrez:
schedo -p -D - Pour répertorier la valeur de réamorçage pour tous les paramètres schedo, entrez:
schedo -r -a