JavaScript is required to for searching.
Ignorer les liens de navigation
Quitter l'aperu
Guide d’administration système : administration avancée     Oracle Solaris 10 1/13 Information Library (Français)
search filter icon
search icon

Informations document

A propos de ce manuel

1.  Gestion des terminaux et modems (présentation)

2.  Configuration des terminaux et modems (tâches)

3.  Gestion des ports série avec la fonction d'accès aux services (tâches)

4.  Gestion des ressources système (présentation)

5.  Affichage et modification des informations système (tâches)

6.  Gestion de l'utilisation du disque (tâches)

7.  Gestion des quotas UFS (tâches)

8.  Tâches de planification du système (tâches)

9.  Gestion de la comptabilisation du système (tâches)

10.  Comptabilisation du système (référence)

11.  Gestion des performances du système (présentation)

12.  Gestion des processus système (tâches)

Nouveautés concernant la gestion des processus système

Pseudo-processus noyau

Gestion des processus système (liste des tâches)

Commandes de gestion des processus système

Utilisation de la commande ps

Utilisation du système de fichiers et des commandes /proc

Gestion des processus avec les commandes de processus (/proc)

Etablissement de la liste des processus

Affichage d'informations sur les processus

Contrôle des processus

Arrêt d'un processus (pkill, kill)

Arrêt d'un processus (pkill)

Arrêt d'un processus (kill)

Débogage d'un processus (pargs, preap)

Gestion des informations sur les classes de processus (liste des tâches)

Gestion des informations sur les classes de processus

Modification de la priorité de planification des processus (priocntl)

Affichage des informations de base sur les classes de processus (priocntl)

Affichage de la priorité globale d'un processus

Définition de la priorité d'un processus (priocntl )

Modification des paramètres de planification d'un processus de partage du temps (priocntl)

Modification de la classe d'un processus ( priocntl)

Modification de la priorité d'un processus de partage du temps (nice)

Modification de la priorité d'un processus (nice)

Résolution des problèmes liés aux processus système

13.  Surveillance des performances du système (tâches)

14.  Résolution des problèmes logiciels (présentation)

15.  Gestion des messages système

16.  Gestion des fichiers noyau (tâches)

17.  Gestion des informations sur les pannes système (tâches)

18.  Résolution de problèmes logiciels divers (tâches)

19.  Résolution des problèmes d'accès aux fichiers (tâches)

20.  Résolution des incohérences d'un système de fichiers UFS (tâches)

21.  Résolution des problèmes du package logiciel (tâches)

Index

Gestion des informations sur les classes de processus

La liste suivante identifie les classes de programmation des processus qui peuvent être configurées sur votre système. La plage de priorité de l'utilisateur est également incluse pour la classe de partage du temps.

Les classes de programmation de processus possibles sont les suivantes :

Modification de la priorité de planification des processus (priocntl)

La priorité de planification d'un processus est la priorité affectée par le planificateur des processus, en fonction des stratégies de planification. La commande dispadmin répertorie les stratégies de planification par défaut. Pour plus d'informations, reportez-vous à la page de manuel dispadmin(1M).

Vous pouvez utiliser la commande priocntl pour attribuer des processus à une classe de priorité et gérer les priorités de processus. Pour consulter des instructions sur l'utilisation de la commande priocntl pour gérer les processus, voir Définition de la priorité d'un processus (priocntl ).

Affichage des informations de base sur les classes de processus (priocntl)

Exemple 12-5 Affichage des informations de base sur les classes de processus (priocntl)

L'exemple suivant illustre la sortie de la commande priocntl -l.

# priocntl -l
CONFIGURED CLASSES
==================

SYS (System Class)

TS (Time Sharing)
        Configured TS User Priority Range: -60 through 60

FX (Fixed priority)
        Configured FX User Priority Range: 0 through 60

IA (Interactive)
        Configured IA User Priority Range: -60 through 60

Affichage de la priorité globale d'un processus

Exemple 12-6 Affichage de la priorité globale d'un processus

L'exemple suivant illustre la sortie de la commande ps -ecl. Les valeurs de la colonne PRI montrent que le processus pageout a la priorité la plus élevée, tandis que le processus sh a la priorité la plus faible.

$ ps -ecl
 F S UID PID  PPID CLS PRI  ADDR      SZ  WCHAN    TTY      TIME   COMD
19 T 0   0    0    SYS 96   f00d05a8   0           ?        0:03  sched
 8 S 0   1    0    TS  50   ff0f4678 185  ff0f4848 ?       36:51   init
19 S 0   2    0    SYS 98   ff0f4018   0  f00c645c ?        0:01 pageout
19 S 0   3    0    SYS 60   ff0f5998   0  f00d0c68 ?      241:01 fsflush
 8 S 0   269  1    TS  58   ff0f5338 303  ff49837e ?        0:07    sac
 8 S 0   204  1    TS  43   ff2f6008  50  ff2f606e console  0:02     sh

Définition de la priorité d'un processus (priocntl )

  1. Connectez-vous en tant que superutilisateur ou prenez un rôle équivalent.

    Les rôles contiennent des autorisations et des commandes privilégiées. Pour plus d'informations sur les rôles, reportez-vous à la section Configuration de RBAC (liste des tâches) du manuel Guide d’administration système : services de sécurité.

  2. Démarrez un processus avec un niveau de priorité désigné.
    # priocntl -e -c class -m user-limit -p pri command-name
    -e

    Exécute la commande.

    -c class

    Spécifie la classe dans laquelle vous souhaitez exécuter le processus. Les classes valides sont TS (partage du temps), RT (temps réel), IA (interactive), FSS (partage équitable) et FX (priorité fixe).

    -m user-limit

    Lorsque vous utilisez l'option -p, indique le niveau maximum dont vous pouvez augmenter ou diminuer votre priorité.

    -p pri command-name

    Permet de spécifier la priorité relative de la classe RT pour un thread en temps réel. Pour un processus de partage du temps, l'option -p vous permet de spécifier la priorité utilisateur, comprise entre -60 à +60.

  3. Vérifiez l'état du processus.
    # ps -ecl | grep command-name

Exemple 12-7 Désignation d'une priorité de processus (priocntl)

L'exemple ci-après illustre le démarrage de la commande find avec la priorité utilisateur la plus élevée possible.

# priocntl -e -c TS -m 60 -p 60 find . -name core -print
# ps -ecl | grep find

Modification des paramètres de planification d'un processus de partage du temps (priocntl)

  1. Connectez-vous en tant que superutilisateur ou prenez un rôle équivalent.

    Les rôles contiennent des autorisations et des commandes privilégiées. Pour plus d'informations sur les rôles, reportez-vous à la section Configuration de RBAC (liste des tâches) du manuel Guide d’administration système : services de sécurité.

  2. Modifiez les paramètres de planification d'un processus de partage du temps en cours d'exécution.
    # priocntl -s -m user-limit [-p user-priority] -i idtype idlist
    -s

    Permet de définir la limite supérieure de la plage de priorité utilisateur et de modifier la priorité en cours.

    -m user-limit

    Lorsque vous utilisez l'option -p, indique le niveau maximum dont vous pouvez augmenter ou diminuer la priorité.

    -p user-priority

    Permet de définir une priorité.

    -i xidtype xidlist

    Utilise une combinaison des paramètres xidtype et xidlist pour identifier le ou les processus. Le paramètre xidtype spécifie le type d'ID, comme l'ID de processus ou l'ID utilisateur. Utilisez le paramètre xidlist pour identifier une liste des ID de processus ou des ID utilisateur.

  3. Vérifiez l'état du processus.
    # ps -ecl | grep idlist

Exemple 12-8 Modification des paramètres de planification d'un processus de partage du temps (priocntl )

L'exemple suivant illustre comment exécuter une commande avec une tranche de temps de 500 millisecondes, une priorité de 20 dans la classe RT et une priorité globale de 120.

# priocntl -e -c RT -m 500 -p 20 myprog
# ps -ecl | grep myprog

Modification de la classe d'un processus ( priocntl)

  1. (Facultatif) Connectez-vous en tant que superutilisateur ou assumez un rôle équivalent.
  2. Modification de la classe d'un processus
    # priocntl -s -c class -i idtype idlist
    -s

    Permet de définir la limite supérieure de la plage de priorité utilisateur et de modifier la priorité en cours.

    -c class

    Spécifie la classe, TS pour le partage du temps ou RT pour le temps réel, que vous affectez au processus.

    -i idtype idlist

    Utilise une combinaison des paramètres xidtype et xidlist pour identifier le ou les processus. Le processus xidtype spécifie le type d'ID, par exemple l'ID de processus ou l'ID utilisateur. Utilisez le paramètre xidlist pour identifier une liste des ID de processus ou des ID utilisateur.


    Remarque - Vous devez être connecté en tant que superutilisateur ou utiliser un shell en temps réel pour modifier un processus depuis ou vers un processus en temps réel. Si, en tant que superutilisateur, vous affectez un processus utilisateur à la classe en temps réel, l'utilisateur ne pourra pas modifier les paramètres de programmation en temps réel en utilisant la commande priocntl -s.


  3. Vérifiez l'état du processus.
    # ps -ecl | grep idlist

Exemple 12-9 Modification de la classe d'un processus (priocntl)

L'exemple suivant illustre comment modifier tous les processus qui appartiennent à l'utilisateur 15249 pour les affecter aux processus en temps réel.

# priocntl -s -c RT -i uid 15249
# ps -ecl | grep 15249

Modification de la priorité d'un processus de partage du temps (nice)

La commande nice est prise en charge uniquement à des fins de rétrocompatibilité avec les versions antérieures de Solaris. La commande priocntl accroît la flexibilité dans la gestion des processus.

La priorité d'un processus est définie par les stratégies de sa classe de programmation et par son nombre nice. Chaque processus de partage du temps comporte une priorité globale. La priorité globale est calculée en ajoutant la priorité utilisateur, qui peut être influencée par les commandes nice et priocntl, et la priorité calculée par le système.

Le numéro de priorité d'exécution d'un processus est attribué par le système d'exploitation. Le numéro de priorité est déterminé par plusieurs facteurs, notamment la classe de programmation du processus, le temps CPU utilisé et, dans le cas d'un processus de partage du temps, son nombre nice.

Chaque processus de partage du temps commence avec un nombre nice par défaut, qu'il hérite de son processus parent. Le nombre nice est indiqué dans la colonne NI du rapport ps.

Un utilisateur peut diminuer la priorité d'un processus en augmentant sa priorité utilisateur. Cependant, seul le superutilisateur peut réduire un nombre nice pour augmenter la priorité d'un processus. Cette restriction empêche les utilisateurs d'augmenter les priorités de leurs propres processus, ce qui monopolise une plus grande part de la CPU.

Les nombres nice sont compris entre 0 et +39, où 0 représente la priorité la plus élevée. La valeur par défaut nice de chaque processus de partage du temps est de 20. Deux versions de la commande sont disponibles : la version standard, /usr/bin/nice, et la commande intégrée au shell C.

Modification de la priorité d'un processus (nice)

A l'aide de cette procédure, un utilisateur peut diminuer la priorité d'un processus. Cependant, un superutilisateur peut augmenter ou diminuer la priorité d'un processus.


Remarque - Cette section décrit la syntaxe de la commande /usr/bin/nice et non celle de la commande niceintégrée au shell C. Pour plus d'informations sur la commande nice du shell C, reportez-vous à la page de manuel csh(1).


  1. Déterminez si vous souhaitez changer la priorité d'un processus, en tant qu'utilisateur ou en tant que superutilisateur. Sélectionnez ensuite l'un des éléments suivants :
    • En tant qu'utilisateur, suivez les exemples de l'étape 2 pour diminuer la priorité d'une commande.
    • En tant que superutilisateur, suivez les exemples de l'étape 3 pour augmenter ou diminuer les priorités d'une commande.
  2. En tant qu'utilisateur, réduisez la priorité d'une commande en augmentant le nombre nice.

    La commande nice suivante exécute command-name avec une priorité inférieure en augmentant la valeur du nombre nice de 5 unités.

    $ /usr/bin/nice -5 command-name

    Dans la commande ci-dessus, le signe moins indique que ce qui suit est une option. Cette commande peut également être définie comme suit :

    % /usr/bin/nice -n 5 command-name

    La commande nice suivante réduit la priorité de command-name en augmentant le nombre nice de l'incrément par défaut de 10 unités, mais pas au-delà de la valeur maximale de 39.

    % /usr/bin/nice command-name
  3. En tant que superutilisateur ou avec un rôle équivalent, augmentez ou diminuez la priorité d'une commande en modifiant le nombre nice.

    La commande nice suivante augmente la priorité de nom-commande en réduisant le nombre nice de 10 unités, mais pas en dessous de la valeur minimale de 0.

    # /usr/bin/nice --10 command-name

    Dans la commande ci-dessus, le premier signe moins indique que ce qui suit est une option. Le deuxième signe moins indique un nombre négatif.

    La commande nice suivante réduit la priorité de command-name en augmentant le nombre nice de 5 unités, mais pas au-delà de la valeur maximale de 39.

    # /usr/bin/nice -5 command-name

Voir aussi

Pour plus d'informations, reportez-vous à la page de manuel nice(1).