Nous mettrons à jour notre Politique de confidentialité prochainement. En voici un aperçu.

Linux : Les services système

Surveiller les ressources

Testez gratuitement nos 1341 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Surveillez l'activité de votre machine et obtenez des statistiques à l'aide des commandes top et vmstat.
07:11

Transcription

Dans cette partie, je vais m'intéresser à la consommation des ressources qu'on va avoir dans les différents processus. On a parlé un peu tout à l'heure de la commande « top », j'ai laissé une commande « top » à l'écran, qui s'exécute parce que ce qui va m'intéresser c'est de voir la valeur de la charge moyenne. J'ai une machine qui est assez chargée, j'ai fait un peu des bêtises avec, tout à l'heure j'ai limite planté la machine parce que je lui ai demandé de faire trop de choses mais pourquoi lui ai-je demandé de faire trop de choses ? Parce que ça se voit au niveau de la charge moyenne, on voit qu'ici j'ai une valeur de 10 et ici une valeur de 8 et ici une valeur de 5. Enfin 8,44 10,53 5,28 La charge moyenne est toujours trois nombres dont le premier représente la charge moyenne durant la dernière minute, le second la charge moyenne durant les cinq dernières minutes c'est donc une moyenne pendant cinq minutes pendant une minute pour le premier, pendant cinq minutes pour le deuxième et une moyenne pendant quinze minutes pour le troisième. Le 5,28 ici est la moyenne de la charge pendant les 15 dernières minutes. Il ne me dit pas ce qu'est cette charge moyenne, ça me donne juste un nombre. Que représente ce nombre ? Pour le comprendre, on va faire une analogie. Quand là j'ai un processus qui s'exécute, il a donc besoin d'accéder au processeur, c'est ce que veut dire qu'un processus s'exécute, il a besoin d'accéder au processeur. Pour accéder au processeur, il va aller se mettre dans une file d'attente. Seulement, il n'y a qu'un seul processeur et là j'ai plusieurs programmes qui fonctionnent. Il va donc y avoir du monde qui va faire la queue devant le processeur comme le samedi après-midi quand on va faire nos courses il y a plusieurs personnes qui attendent devant les caisses. C'est tout à fait le même fonctionnement, la charge moyenne va mesurer la longueur de la file d'attente devant la caisse en prenant en compte la personne en train d'être servie par le caissier ou la caissière. Ici, le fait que j'ai 5,99 veut dire qu'en moyenne durant la dernière minute, j'avais 5,99 processus dans la file d'attente pour accéder au processeur. Il y a donc cinq processus qui veulent accéder au seul processeur présent dans la machine. La charge moyenne ne me donne aucune autre indication que celle-ci. Cela veut dire qu'il ne faut pas tirer d'autres conclusions que celles que je viens de dire : il y a tant de personnes qui attendent. Peut-être que, quand vous allez au supermarché, vous allez préférer une caisse où il y a plus de monde mais où les gens ont moins de produits. Si j'ai acheté une banane ou si j'ai trois caddies pleins quand je vais au supermarché, je vais être compté comme une personne dans la file d'attente. Ici, c'est pareil, j'ai un processus « cc1 » qui est une compilation, j'ai lancé une compilation du noyau en arrière-plan sur un autre terminal, donc c'est un gros boulot qui est effectué là, cette compilation « cc1 » va occuper beaucoup de ressources sur la machine mais dans le calcul de la charge moyenne elle va occuper autant de place que la commande « top » qui ne fait que m'afficher des mesures. Faites attention à ça, la charge moyenne ne veut pas forcément vous dire que la machine est à genoux, elle veut tout simplement vous dire qu'il y a plus ou moins de monde qui attend devant le processeur. C'est tout, rien d'autre. Il ne faut pas en tirer d'autres conclusions. Ici, j'ai une charge qui va tourner aux alentours de 5, ce n'est pas compliqué, on peut faire, plus ou moins, monter la charge de la machine en fonction du type de machine sur lequel on est. Ce que j'ai fait ici, je fais un « Ctrl + C » et j'arrête ma compilation. J'ai fait ma compilation en passant une option « -j 3 » et la commande « make » c'est spécifique à la compilation du noyau mais ça veut dire qu'il va me faire trois files de compilation, il va me compiler trois fichiers différents en parallèle pour pouvoir, si jamais j'ai plusieurs processeurs, occuper tous les processeurs. Ce qui fait que ça ira plus vite si j'avais plusieurs processeurs. Pas de chance, je n'en ai qu'un mais ça m'a fait artificiellement monter la charge de la machine à une valeur supérieure à 3. Il y a 3 pour la compilation mais il y a également le reste de l'activité de la machine. Est-ce que ça aurait fonctionné plus vite ou moins vite que si je fais juste un « make » qui compile et fait un seul processus de compilation ? J'aurai qu'un seul processus «cc ». Est-ce qu'il ira plus vite ou moins vite ? Il ira à la même vitesse puisque, de toute façon, je n'ai qu'un seul processeur. Voilà à quoi correspond cette charge moyenne. Il y a d'autres choses qui sont intéressantes à regarder, qui sont avec la commande « vmstat ». Cette commande va m'afficher des statistiques sur l'ensemble des processus de la machine et, si je regarde une ligne, la ligne va contenir des choses qui peuvent sembler un peu cryptiques mais avec l'explication vous allez voir que c'est très intéressant de l'avoir. Tout d'abord, quand on lance un « vmstat » il est suivi de l'intervalle de mesure. Là je fais une mesure toutes les cinq secondes. La première ligne, on n'en tient pas compte parce que c'est une moyenne depuis le démarrage de la machine. La deuxième ligne est une moyenne durant l'intervalle entre la première et la deuxième ligne donc durant les cinq dernières secondes. J'ai tout d'abord « proc » avec deux colonnes « r » et « b » Le « proc » est le nombre de processus et le « r » me donne le nombre de processus dans l'état « running » qui veut dire en train de s'exécuter dans la file d'attente du processeur, file d'attente du processeur : ici 3, ici 1, ici 2, ici 3, ici 2 etc. « b » ce sont des processus qui sont bloqués, en attente d'entrée/sortie, c'est-à-dire que c'est la même chose qu'au supermarché et que quelqu'un devant vous arrive devant la caissière et vous laisse passer car son mari est allé chercher du lait ou sa femme du jus d'orange donc vous laisse passer le temps qu'il revienne. Ce n'est pas bloquant, un autre processus peut passer devant mais il lui manque quelque chose pour s'exécuter. Pour la partie mémoire, c'est extrêmement compliqué à l'interpréter. En général, je ne le regarde pas. Pour la mémoire, je vais plutôt regarder les colonnes « swap ». « si » et « so » me font savoir si on a utilisé le disque dur pour y mettre des éléments qui étaient dans la mémoire vive ou est-ce qu'on l'a utilisé pour rechercher des éléments qu'on avait précédemment mis sur le disque dur pour les remettre dans la mémoire. En gros, on utilise l'espace de « swap », une partie du disque dur, pour étendre la mémoire. Si on a des valeurs en permanence dans le « si » et le « so » c'est mauvais signe parce que notre machine va ramer et ça va signifier qu'on demande trop de choses à réaliser par rapport à la quantité de mémoire qu'on a dans la machine à cet instant-là. Le « io » c'est le nombre de lectures et d'écritures sur le disque. Le « system », on va avoir... Le « in » et « cs » sont les interruptions le nombre de changements de contexte quand on passe d'un processus à un autre mais surtout, ici, c'est l'activité CPU Si je prends là, j'ai 88% dans l'espace utilisateur 12% en système, 0% en « iddl » et ceux-là sont pour l'occupation de disque, en attente des disques ou pour les machines virtuelles. Ce sont vraiment ces trois là qui vont m'intéresser. Ici, on voit que le processeur ne va pas trop s'ennuyer, il est quasiment toujours à 0% sauf là 1% de temps en temps, autrement il est quasiment à 0% « iddl », à ne rien faire, soit il fait des opérations pour les processus, soit des opérations au niveau des « drivers ». Avec cette commande-là, en quelques instants, je peux identifier si ma machine est un peu juste en termes de CPU, en nombre de processus, bref j'ai une vision de ce qui se passe sur la machine et une vision de la consommation que font mes processus sur les ressources de ma machine.

Linux : Les services système

Découvrez les services qui tournent en permanence sur votre système et adaptez-les en fonction de vos besoins. Abordez la gestion des logs, la synchronisation horaire, etc.

2h16 (22 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Thématiques :
IT
Systèmes d'exploitation
Spécial abonnés
Votre/vos formateur(s) :
Date de parution :25 avr. 2017
Durée :2h16 (22 vidéos)

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !