Le 14 septembre 2017, nous avons publié une version actualisée de notre Politique de confidentialité. En utilisant video2brain.com vous vous engagez à respecter ces documents mis à jour. Veuillez donc prendre quelques minutes pour les consulter.

Linux : L'architecture système

Utiliser vmstat

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Prenez en main la commande vmstat pour obtenir des informations sur la mémoire virtuelle et plus encore.
09:17

Transcription

Dans ce chapitre, on va utiliser un certain nombre de commandes Linux pour obtenir plus d'informations sur le système. Et puis, en obtenant ces informations, et bien, on va voir à quoi elles riment, finalement. La première commande que j'aimerais utiliser s'appelle VMSTAT. VM pour Virtual Memory, et STAT pour Statistics, évidemment, Alors, comme son nom ne l'indique pas, elle ne retourne pas que des informations sur la mémoire virtuelle. Elle retourne beaucoup plus d'informations. Elle va retourner des informations sur les processus, sur l'activité des CPU, sur la mémoire, évidemment. et puis, sur les io, aussi. Donc, on va regarder ça. Elle retourne des informations, soit si je l'appelle comme ça à l'état actuel du système. Soit, je peux l'appeler avec un délai. Pa exemple, toutes les secondes, je fais 1. Et puis, les informations vont continuer à s'accumuler toutes les secondes. Je vais faire un CTRL+C pour arrêter. Maintenant, je voudrais toutes les 2 secondes. Et donc, voilà. Vous avez quelque chose que vous pouvez utiliser pour surveiller, en temps réel, à un moment donné, l'activité du système pour voir ce qui se passe. Alors, VMSTAT... On va utiliser l'aide pour voir un peu ce qu'on peut ajouter comme paramètre. Ici, paramètre a pour voir des informations sur la mémoire active et inactive. Alors, la traduction française est totalement ratée. C'est marqué " active ou désactive la mémoire ". Ne vous inquiétez pas. Si vous faites un vmstat a, vous n'allez pas désactiver votre mémoire. C'est juste des informations différentes sur la mémoire. Le nombre de fork depuis l'amorçage. Donc, ça veut dire le nombre de fork, de fois où un process a été forké. Voilà, ça peut valoir la peine, éventuellement. Vous avez des statistiques du disque avec d. D majuscule, des statistiques agrégés du disque. P, des statistiques sur une partition. Les paramètres principaux c'est w que j'aime bien dans l'affichage en français, parce que vous avez vu, si je fais ça, je trouve que c'est pas très, très joli. C'est un peu compact. Ici, c'est relativement moche. D'autant plus qu'il y a un décalage. Donc, si vous faites w, vous avez un affichage wide. Donc, plus large, qui est beaucoup plus lisible, à mon sens. Aussi, vous pouvez changer l'unité. Ici, par exemple, en mémoire, j'ai des kilos. C'est sympa, mais ça commence à faire des valeurs un peu élevées de nos jours. Donc, vous pouvez utiliser, vous voyez ici, le paramètre s majuscule. Et ensuite, vous donnez l'unité d'affichage. Donc, par exemple w, ensuite, s majuscule, espace, m pour des mégaoctets, ça reste quand même quelque chose de plus lisible, notamment, dans toute la partie mémoire. Donc, si je reprends ça... comme ceci, et je vais dire : toutes les secondes. Et ben, c'est pas mal du tout. On laisse ça et puis, on va regarder ce que veulent dire les différentes informations. Donc, commençons par les processus ici dans la section proc, qu'on voit ici. On a deux valeurs : r et b. R, Run Queue, Et b, le nombre de processus qui sont en attente. Donc, ils sont dans un état de sleeping. R vous donne donc les processus en cours d'exécution, pas forcément sur le processeur, mais dans la run queue. On en avait parlé. Dans la run queue du scheduler. On est d'accord, maintenant, le scheduler n'a pas vraiment une run queue, mais c'est représenté ici. Ce sont des processus qui sont exécutés, ou qui peuvent être exécutés. Évidemment, swap, ici. Donc, là, on est maintenant dans la mémoire. Proc est arrêté, et tout ce qui est ici concerne la mémoire. Et bien, nous avons ici combien de mémoire a été swappée sur le disque. Donc, on a pris des mégas. On s'en souvient. Donc, combien de mégas de mémoire on a swappés sur le disque, combien on a de libres. Donc, on a toujours 3,8 gigas. Quelque chose comme ça. Combien est dans ce qu'on appelle le buffer, et combien est dans le cache. Pour buffer et cache, on parle bien de fichiers sur le disque ou de structures sur le disque qui ont été cachés par le noyeau, par Linux, pour faciliter le travail des applications. Si je suis en train de travailler avec des fichiers, en terme de processus, il vaut mieux utiliser une partie de la mémoire pour les garder en cache que de faire des appels incessants au disque. Et ça, c'est un système de cache intégré au noyau qui utilise un système de memory mapped file. C'est-à-dire on prend des fichiers sur le disque et puis on les mappe finalement en mémoire pour les représenter en mémoire comme s'ils étaient sur le disque pour faciliter le travail des applications. La différence... Bon y a plusieurs différences assez fines, mais le cache... c'est vraiment le cache total des applications. Et puis, la partie buffer, c'est les applications en cours, qui sont en train d'utiliser ces fichiers. avec parfois des informations supplémentaires de permission ou de choses comme ça. Le cache est aussi alimenté par des systèmes de fichiers en mémoire, des ramdisk, si vous voulez. Donc, on a ici, dans cette valeur cache, la totalité des informations qui sont réellement cachés par le kernel sur la mémoire donc, tout ce qui a été mappé sur la mémoire, si vous voulez. Pour la partie échange ici... Donc échange, vous lisez swap. On parle bien ici des partitions de swap. Donc... Facile à comprendre. Si pour Swap In. So pour Swap Out. C'est donc la quantité de mémoire qui a été bougée de la mémoire vers le swap, en swap in. Et puis, du swap vers la mémoire en swap out. Ce qui va se passer sur du swap, c'est que... si le kernel déplace la mémoire d'une application, des zones, des pages de mémoire d'une application dans le swap, lorsque l'application va avoir besoin de cette mémoire, il faut que le kernel lui rende cette mémoire. C'est-à-dire qu'il aille dans le swap, reprenne ces pages et les repose en mémoire. C'est ce qu'on appelle des page faults. Lorsque vous avez un page fault, ça veut dire que l'application veut accéder à une page de mémoire, mais l'application ne le sait pas. Mais la mémoire a été déplacée dans le swap, donc, c'est au kernel d'aller récupérer... On a une page fault, on a une faute de page. On n'a pas réussi à accéder à la page. Ça, c'est le kernel qui le sait, pas l'application. Le kernel va dans le swap, récupère et remet dans la mémoire vive. Maintenant, sur les io, on a à peu près la même chose. Bi et b out, c'est block in et block out. Combien ont fait en input et en output de nombres de blocs par seconde. Donc, il s'agit du nombre de blocks in. Blocks in, nombre de blocs depuis un disque par seconde. Et blocks out, nombre de blocs qui ont été envoyés, qui ont été écrits sur le disque par seconde. La partie système, ici, peut éventuellement être intéressante C'est quand même plus un indicateur. On a pour in le nombre d'interruptions. Donc, c'est les appels, les interruptions matérielles, Et puis, cs, c'est le nombre de switch de contextes de changements de contexte. Pour aller très vite, lorsque le scheduler place ou déplace un processus sur un CPU, y a tout le contexte de travail du processus qu'il faut déplacer également. Un switch de contexte, c'est : on prend un processus du CPU et on l'enlève ou on fait l'inverse et on doit déplacer en même temps tout le contexte de ce processus. C'est-à-dire les registres qui sont travaillés par le processeur, etc. Donc, simplement, si vous avez beaucoup de switch de contexte, ça peut indiquer qu'il y a beaucoup de processus et que les processus doivent changer beaucoup. Il y a beaucoup d'activité de multiprocessing sur les CPU. Et enfin, en terme de CPU, ici, et bien, facile, vous avez compris. Us, on a temps utilisateur. Donc, pourcentage de temps passé sur de l'utilisateur, Si, pourcentage de temps passé sur du kernel, Id, on l'avait vu : temps idle. Wa, on connaît également : c'est les wait. Donc, c'est le temps du processeur qui a été passé à attendre, à attendre sur des io, principalement. Et puis, st... ça veut dire steal time. On pourrait dire " stolen ". C'est le temps qui a été volé, et là, c'est uniquement dans un contexte de machine virtuelle. Le temps qui a été volé par l'hyperviseur sur le temps CPU de la machine virtuelle. Donc, ça vous intéressera seulement si vous êtes dans une VM.

Linux : L'architecture système

Prenez en main les principes généraux de l’architecture système de Linux. Comprenez le fonctionnement du noyau (kernel), de la gestion de la mémoire, des processus, etc.

2h01 (20 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Thématiques :
IT
Systèmes d'exploitation
Spécial abonnés
Date de parution :15 sept. 2016

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 !