Linux : L'architecture système

Analyser l'utilisation de la mémoire

Testez gratuitement nos 1252 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Vous allez analyser en détail l'utilisation de la mémoire. Il s'agit notamment de regarder dans le fichier virtuel meminfo.
06:46

Transcription

Quand on a vu les options de VMSTAT, on a vu qu'il y avait une option qui s'appelait : a pour la mémoire active et inactive. Alors, de quoi s'agit-il ? Je vais faire un affichage wide. Lorsque vous activez l'option a, vous voyez ici d'autres informations sur la mémoire, et la mémoire active et inactive. Donc, quelle est la différence ? La mémoire active, c'est la mémoire qui est en activité, qui est utilisée par des programmes, et qui ne peut pas être réutilisée. Elle est en activité, tout simplement. La mémoire inactive, c'est de la mémoire qui vient d'être utilisée, qui a été utilisée récemment, et qui peut être reprise, récupérée, si on a des besoins de mémoire. Donc, on a ici de la mémoire libre, et puis, on a de la mémoire inactive, et les deux formes de la mémoire qui peuvent être utilisées. Donc, ce n'est pas très, très important, la mémoire inactive. Elle peut être réutilisée. Si vous venez de redémarrer votre machine, il y a de fortes chances que cette valeur soit très basse. Pour obtenir des informations sur la mémoire, donc, on a vu, on a la commande free. Ça, on connaît. Free -m pour avoir des mégas, par exemple. Bon, c'est exactement la même chose. Qu'est-ce qui est utilisé, qu'est-ce qui est libre ? Qu'est-ce qui est tampon plus cache ? Donc, buffer plus cache, et qu'est-ce qui est vraiment disponible ? Vous voyez que la différence entre le libre et le disponible, c'est finalement de la mémoire inactive, également. Vous pouvez obtenir plus d'infos encore sur la mémoire en allant regarder dans le fichier virtuel dans proc qui s'appelle meminfo. Et là, vous avez plein d'informations sur la mémoire. Donc, la mémoire totale, la mémoire libre, ça, on connaît. La mémoire disponible, donc, mémoire libre et mémoire disponible, c'est ce qu'on vient de dire, et qu'on a déjà vu. Les buffer, ce qui est caché... ce qui est SwapCached... et ça, ce n'est pas très important, mais c'est une mémoire qui est présente à l'intérieur de la mémoire vive, mais aussi dans le swap. Pour des raisons d'optimisation, on laisse dans le swap, éventuellement, de façon à ce que si on doit swapper à nouveau, on n'ait pas besoin d'écrire dans le swap. On a donc l'information d'actifs ou d'inactifs et on a un découpage actifs, inactifs, sur deux niveaux. C'est ce qu'on appelle la mémoire anonyme. On ne sait pas exactement ce qu'il y a dedans. Et puis, la mémoire de fichiers. Donc, ça, c'est vraiment des fichiers qui ont été mappés en mémoire par le kernel, donc la mémoire anonyme, c'est quelque chose qu'on ne sait pas. C'est la mémoire de l'application. On a le swap, et le swap qui est libre, bien sûr. On a ici les pages anonymes, donc, des pages qui ne sont pas des fichiers, on vient d'en parler, qui sont en mémoire. Et vous voyez finalement que ça correspond à peu près à ce qui est actif en anonyme. Et ensuite, vous avez encore quelques petites informations, notamment ce qui est totalement allouable pour les applications. Donc, on a ici un vmallocTotal. Vmalloc, c'est une fonction de Linux qui permet d'allouer de la mémoire contiguë. Donc, l'application fait un appel à vmalloc pour récupérer de la mémoire, finalement. Donc, contiguë v parce qu'elle est contiguë virtuellement, uniquement. Ce n'est pas très grave. C'est de la programmation plutôt système. Et puis, on a ce qui est utilisé dans vmalloc. Vous voyez, vous avez plein d'informations, en fait, sur vraiment, précisément, l'utilisation de la mémoire si vous avez besoin de surveiller ça de plus près ou de déboguer. Il y a une autre commande qui s'appelle smem, qui n'est pas installée par défaut, souvent. Donc, je vais l'installer. Alors, il y a plein de choses à installer en même temps. Je vais interrompre la vidéo pour ne pas vous faire l'installation de tout ça, mais vous voyez qu'il y a du Python derrière. Donc, on y va, et je reviens tout de suite. Voilà qui est fait. Donc, Smem nous donne un rapport sur la mémoire qui est en cours d'utilisation. On peut avoir un rapport par user. On peut avoir un rapport sur le système tout entier avec w. Ça veut dire " wide ". System wide. Et puis, on peut avoir un rapport par mapping de mémoire. Donc, les différentes bibliothèques, comment elles sont mappées en mémoire, ici, on a l'utilisateur, qu'est-ce qu'il utilise ? Et puis, on a l'utilisation du système, donc system wide, la mémoire du kernel, le user space free memory... donc, vous avez plus d'informations avec smem, et même des informations très précises. Vous pouvez même, si vous êtes dans une interface graphique, ici, je suis vraiment en console, générer, d'ailleurs, des graphes, des camemberts d'utilisation de la mémoire en utilisant matplotlib. Donc, c'est du Python derrière. Matplotlib, c'est une bibliothèque de génération de graphes par Python. Et donc, smem est un programme relativement sophistiqué. Alors vous voyez ici les informations au niveau de l'utilisateur. On a bien sûr le swap, donc, la quantité de mémoire qui est swappée, USS qui correspond à Unique Set Size, c'est la mémoire privée utilisée par ce process, PSS et RSS sont des mémoires totales utilisées par le process, y compris les bibliothèques. Donc, des bibliothèques partagées. RSS, c'est Resident Set Size, donc, la mémoire qui est utilisée par le process et les bibliothèques qu'il a chargées. Et PSS, c'est un Proportional Set Size, c'est-à-dire la même chose que le résident, mais comme les bibliothèques sont partagées par d'autres process, et bien, PSS va vous montrer un pourcentage, en fait, de la mémoire, c'est-à-dire que si vous avez 1 méga de bibliothèques, et qui est utilisée par dix process, et bien, ici, vous aurez 100 kilos parce qu'on a divisé la taille de la bibliothèque en mémoire par le nombre de process qui l'utilisent. Voilà, ça vous fait vous rendre un peu compte de ce qui se passe. Et puis, ici, bien entendu, quand on a smem -w, et bien, on a ce qui est utilisé, et dans ce qui est utilisé, ce qui est de la mémoire de cache et de la mémoire non cache. Donc, la mémoire de cache, c'est par exemple, des fichiers mappés en mémoire par le kernel.

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 !