> Tech > Processeur

Processeur

Tech - Par iTPro - Publié le 24 juin 2010
email

Pour déterminer si une machine NT Server présente un goulot d'étranglement de CPU, il faut s'assurer en premier lieu qu'il n'y a pas un goulot d'étranglement de la mémoire. Les goulots d'étranglement de la CPU ne se produisent que quand le processeur est tellement occupé qu'il ne peut pas répondre

aux requêtes. Dans ce cas, on constate les symptômes suivants : taux élevés d’activité du processeur, longues files d’attente durables, et médiocre réaction des applications. Les causes courantes des goulots d’étranglement de la CPU sont les suivantes : applications et pilotes liés à  la CPU et interruptions extrêmes (imputables à  des composants de sous-systèmes disques ou réseau mal conçus).

Pour connaître l’état de l’utilisation de la CPU du système, on dispose des compteurs suivants :

· Processor : % Processor Time – Mesure le temps qu’un processeur passe à  exécuter des threads non inactifs (nonidle). (Si le système a plusieurs processeurs, il faut surveiller le compteur System : % Total Processor Time.) Si un processeur fonctionne en permanence à  plus de 80 % de capacité, il souffre peut-être d’un goulot d’étranglement. Pour déterminer la cause de l’activité d’un processeur, on peut surveiller les processus individuels au moyen de Performance Monitor. Toutefois, un Processor : % Processor Time élevé n’indique pas toujours un goulot d’étranglement de la CPU. Si la CPU est en train de servir toutes les requêtes du scheduler NT Server sans constituer le Server Work Queues ou le Processor Queue Length, la CPU est en train de servir les processus aussi vite qu’elle le peut. Un goulot d’étranglement du processeur se produit quand la valeur de System: Processor Queue Length est en augmentation, Processor : % Processor Time est élevé ; et la mémoire, l’interface réseau et les disques du système ne présentent aucun goulot d’étranglement. Quand un goulot d’étranglement de la CPU se produit, le processeur ne peut pas traiter la charge de travail qu’exige NT. La CPU fonctionne aussi vite qu’elle le peut, mais les requêtes sont mises en file d’attente et attendent les ressources de la CPU.

· Processor : % Processor Time – Mesure le temps qu’un processeur passe à  exécuter des threads non inactifs (nonidle). (Si le système a plusieurs processeurs, il faut surveiller le compteur System : % Total Processor Time.) Si un processeur fonctionne en permanence à  plus de 80 % de capacité, il souffre peut-être d’un goulot d’étranglement. Pour déterminer la cause de l’activité d’un processeur, on peut surveiller les processus individuels au moyen de Performance Monitor. Toutefois, un Processor : % Processor Time élevé n’indique pas toujours un goulot d’étranglement de la CPU. Si la CPU est en train de servir toutes les requêtes du scheduler NT Server sans constituer le Server Work Queues ou le Processor Queue Length, la CPU est en train de servir les processus aussi vite qu’elle le peut. Un goulot d’étranglement du processeur se produit quand la valeur de System: Processor Queue Length est en augmentation, Processor : % Processor Time est élevé ; et la mémoire, l’interface réseau et les disques du système ne présentent aucun goulot d’étranglement. Quand un goulot d’étranglement de la CPU se produit, le processeur ne peut pas traiter la charge de travail qu’exige NT. La CPU fonctionne aussi vite qu’elle le peut, mais les requêtes sont mises en file d’attente et attendent les ressources de la CPU.

· Processor : % Privileged Time – Mesure le temps que la CPU passe à  exécuter les services du système d’exploitation (OS).

· Processor : % User Time – Mesure le temps que le processeur passe à  exécuter le code application et sous-système (traitement de texte, tableur, par exemple). 75 % ou moins est convenable.

· Processor : Interrupts/sec – Mesure le nombre d’interruptions de l’application et du matériel que le processeur est en train de servir. Le rythme d’interruption dépend du rythme des I/O disque, du nombre d’opérations par seconde, et du nombre de paquets de réseau par seconde. Les processeurs plus rapides peuvent tolérer des taux d’interruption supérieurs. Pour la plupart des CPU actuelles, on tourne autour de 15.000 interruptions par seconde.

· Processor : % Processor Time – Mesure la quantité de temps d’un processeur occupée par un processus. On sait ainsi quel processus utilise la plus grande partie du temps d’une CPU.

· System : Processor Queue Length – Indique le nombre de tâches en attente de temps de processeur. Si l’on exécute de nombreuses tâches, ce compteur va parfois au-dessus de zéro. S’il présente régulièrement une valeur de 2 ou plus, le processeur est sans aucun doute affecté par un goulot d’étranglement. Trop de processus sont en attente de la CPU. Pour déterminer la cause de la congestion, il faut utiliser Performance Monitor pour superviser l’objet processus et analyser plus en détail les processus individuels qui adressent des requêtes au processeur.

Pour résoudre les goulots d’étranglement du processeur, une méthode consiste à  passer à  une CPU plus rapide (si la carte système le permet). Dans le cas d’un système multi-utilisateur qui exécute des applications multithreads, on peut accroître la puissance du processeur en ajoutant des CPU. (Si un processus est multithread, le fait d’ajouter un processeur améliore les performances. Si un processeur est monothread, l’amélioration passe par un processeur plus rapide.) Cependant, si l’on exécuter le kernel NT monoprocesseur, il faudra peut-être mettre le kernel en version multiprocesseur. Pour cela, réinstaller l’OS ou utiliser l’utilitaire uptomp.exe du kit de ressources.

Une autre manière de régler les performances de la CPU consiste à  utiliser Task Manager pour détecter les processus qui consomment la plus grande partie du temps de la CPU, puis de jouer sur leurs priorités respectives. Un processus démarre avec un niveau de priorité de base, et ses threads peuvent dévier de deux niveaux plus haut ou plus bas dans la base. Si l’on a une CPU occupée, on peut augmenter le niveau de priorité d’un processus pour améliorer les performances de la CPU à  son égard. Pour cela, appuyer sur Ctrl+Alt+Del pour accéder à  Task Manager, puis aller à  l’onglet Processes. Faire un clic droit sur le processus, choisir Set Priority, et sélectionner une valeur High, Normal ou Low, comme l’illustre la figure 4. Le changement de priorité se manifeste immédiatement, mais cette correction est temporaire : une fois que l’on aura réinitialisé le système ou arrêté et démarré l’application, on perdra les propriétés de priorité ainsi établies. Pour s’assurer qu’une application démarre toujours à  un certain niveau de priorité, on peut utiliser la commande Start sur la ligne de commande ou dans un script batch. Pour passer en revue les options de la commande Start, entrer

start /?

à  l’invite de commande.





Figure 4 : voir SYSTEM Journal n°9 – juillet/août 2001

Téléchargez gratuitement cette ressource

TOP 5 Modernisation & Sécurité des Postes Clients

TOP 5 Modernisation & Sécurité des Postes Clients

Pour aider les entreprises à allier les restrictions liées à la crise et la nécessaire modernisation de leurs outils pour gagner en réactivité, souplesse et sécurité, DIB-France lance une nouvelle offre « Cloud-In-One » combinant simplement IaaS et DaaS dans le Cloud, de façon augmentée.

Tech - Par iTPro - Publié le 24 juin 2010