Linux : L'architecture système

Comprendre et agir sur le swap

Testez gratuitement nos 1270 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Commencez par définir ce qu'est la partition de swap. Découvrez comment obtenir des informations et agir sur cette partition.
09:21

Transcription

Je vous le disais : le kernel s'occupe des processeurs, du processus, de la mémoire, du disque, etc. Une chose qu'il gère, c'est donc la mémoire. La mémoire vive. Et comme je vous le disais, on a deux modes. Deux couches qui sont le kernel mode et le user mode. Le kernel a besoin de mémoire et ensuite, il en donne au processus utilisateur, donc, en user mode, qui, eux, vont avoir une zone de mémoire qui leur est dédié, qui s'appelle la mémoire virtuelle. Et on l'appelle la mémoire virtuelle parce que c'est un mélange de mémoire physique et d'emplacement de swap. Si les processus ont besoin de plus de mémoire qu'il n'en existe physiquement, le kernel va commencer à swapper, c'est-à-dire à prendre des pages de mémoire physique pour les déplacer dans une zone sur le disque. Cette zone sur le disque, contrairement à Windows, n'est pas un fichier dans le système de fichiers, dans l'espace au niveau de la racine, mais c'est quelque chose qui est vraiment dans une partition spécifique. qu'on a dû définir lorsqu'on a installé le système et partitionné les disques avec un système de fichiers spécifiques. Si on regarde dans etc/fstab, qui est le fichier de configuration qui détermine ce qui va être monté au démarrage en terme de partitions, on voit qu'on a deux partitions ici. Une en ext4, c'est-à-dire c'est une partition avec un système de fichiers Linux. Ici, on a une partition en ext2 pour le boot Et puis, on a une partition qui a un système de fichiers de swap spécifique. Donc, c'est bien entendu, pour améliorer les performances du swap en tant que tel. Vous pouvez voir la partition elle-même, c'est-à-dire le device lui-même, en utilisant la commande swap on qui est une commande qui permet d'activer ou de désactiver le swap. Mais sans paramètres supplémentaires, et bien, on a un affichage des données du swap. On voit que le device, c'est-à-dire le fichier virtuel dans dev, qui correspond à la partition qui s'appelle ici dev/dm-1 et que c'est un type partition, que la taille est de 4,9 gigas. Cet affichage n'est pas extraordinaire. Vous pouvez faire un swap on avec summary pour avoir quelque chose d'un petit peu plus joli. qui, finalement, lie directement un fichier On peut aller le voir... qui est dans proc et qui s'appelle swaps. Swaps au pluriel parce qu'on peut avoir plusieurs partitions de swap, bien entendu. Alors, la différence ici, c'est qu'on voit une taille en octets. Ici, elle est un peu plus claire. On a 4,9 gigas. Parce que, à l'installation de ce système, par défaut, Ubuntu serveur a pris la même taille que la mémoire physique. Effectivement, j'ai 4,9 gigas de mémoire physique. Je peux le voir dans free parce que c'est une machine virtuelle, en fait, dans virtual box. qui est, ici, mon serveur. Et j'y attribue à la machine virtuelle quelque chose comme 5 gigas de RAM. C'est pas très cohérent physiquement, mais voilà. Donc, on peut le voir également dans free, comme vous le voyez. Donc, free est une commande qui montre très simplement et de façon bien résumée comment est utilisée la mémoire de notre système, en octets par défaut. Mais si vous regardez l'aide... de free, donc, la plupart des commandes Linux ont ici, comme ici, typiquement cette option --help qui est très, très standard dans les commandes de Linux. et vous voyez ici que nous avons la possibilité de l'afficher en bytes, donc, en octets, ça, c'est déjà fait. en kilos, en mégas, en gigas ou bien aussi une option assez classique - h ou moins h, si vous préférez. qui est la sortie sous une forme lisible par un humain. C'est-à-dire qu'elle va s'adapter... Et on va faire comme ça... Elle va s'adapter aux différentes valeurs pour montrer qu'on a 4,8 gigas de mémoire, 58 mégas utilisés... On a du cache en mémoire. On en dira un mot. Et donc, on ça disponible. Et vous voyez qu'on a une deuxième ligne. Donc, ça, c'est la mémoire physique. Et ici, c'est notre swap, traduit en français par " partition d'échange ", qui fait 4,9 gigas. Donc... c'est une pratique quand même assez courante. d'avoir la même taille de swap que la taille physique de la mémoire. Et bon, vous voyez que c'est décalé à cause de cet affichage en français mais normalement, mem et swap en anglais ont à peu près le même nombre de caractères Donc, on a une tabulation qui va faire apparaître le 4,9 gigas ici. Ce qui n'est pas le cas à cause de la traduction française. Mais, ici, il faut bien lire que ceci s'applique à ceci. On a le total. On a 0 utilisé. On a donc 4,9 de libre. Si on n'est pas fort en maths, ça nous aide. Et puis, le cache, et ben, j'en ai pas sur des partitions d'échange. Le cache, c'est un mécanisme qui cache des fichiers du disque en mémoire. Donc, on va pas mettre des fichiers du disque en mémoire pour les reswapper. Ensuite, ça a pas de sens. Donc, on n'a pas d'espace de cache sur du swap, bien entendu. Dernière information : le swap est contrôlé par le kernel avec un paramètre sur lequel vous pouvez éventuellement agir si, pour une raison ou une autre, vous jugez que y a beaucoup de swaps, peut-être trop de swaps. Alors, utilisez ça avec parcimonie parce que, en général, le kernel sait ce qu'il fait, mais bon, on peut avoir des cas. De quoi s'agit-il ? Si on va dans proc... On va le faire comme ça. On va faire directement un cat dans proc/sys/vm. Et donc, on va faire un ls avant de faire un cat. Si vous regardez dans proc/sys/vm, vous avez ici un certain nombre d'informations système qui sont affichées, et un certain nombre d'informations que vous pouvez modifier. En fait, proc/sys, c'est une zone qui contient des informations qui sont liées à une commande qui s'appelle sysctl ou syscontrol, qui vous permet éventuellement de changer des options, de lire et de modifier des options du kernel, des options du système, notamment, vous voyez peut-être ici, une option qui s'appelle le swapiness. Donc, on va jeter un coup d'oeil sur notre swapiness. Avec un cat... Et je suis ici sur Ubuntu. Et la valeur par défaut du swapiness sur Ubuntu est de 60. Alors, le swapiness, c'est une option qui détermine quelle va être la tendance du kernel à swapper. Ça va de 0 à 100. 0, c'est on swappe le moins possible, 100, on va très, très fortement insister sur le swap. La valeur 60... Ici, on est sur Ubuntu serveur, est relativement bien choisie. Il se peut que si vous êtes sur un Ubuntu Desktop, par exemple, ce soit une valeur qui soit trop élevée et qu'il y ait beaucoup de swaps. Alors, si c'est le cas. Si vous trouvez que votre disque travaille beaucoup, vous pouvez modifier cette valeur. Vous pouvez le modifier de deux façons à l'aide de sysctl. Donc, avec un sudo, bien sûr, puisque, là, on va faire quelque chose qui nécessite des privilèges de super user. Donc, sysctl. Et puis, on va changer comme ceci Donc, tout ce qui est dans proc/sys, ici, peut être appelé avec sysctl avec, en préfixe, le répertoire comme une sorte de namespace. Ici, vm point. Et puis, on va changer le swapiness. Et on va lui donner une valeur, par exemple, sur un desktop, sur un Ubuntu qui n'est pas un serveur, 10 paraît être une bonne valeur à essayer. Donc, on essaie ça. Et je me suis trompé ici. Faut mettre un " égal " pour dire je veux vraiment avoir la valeur, et pas la lire. Et on l'a mis à 10. On va regarder ici. On est bien à 10. Cette valeur vient d'être changée, à chaud, dynamiquement pour notre système. Vous pouvez agir sur chaque démarrage en allant ajouter cette même ligne vm.swapinees=10 dans... etc/sysctl.d. Alors, ça dépend. Ça peut être sysctl.conf sur certains de vos systèmes, mais Ubuntu a beaucoup cette manie de faire des répertoires de configuration. On va ajouter un fichier de conf, mais découpé en fichiers plus petits. Enfin, je dis " une manie ", mais c'est plutôt pas mal parce que ça permet d'ajouter ses propres fichiers de configuration qui ne seront pas écrasés par des mises à jour du système. Donc, si je vais dans sysctl.d, je vois déjà qu'il y a un certain nombre de fichiers qui vont avoir des valeurs qui seront réécrites au démarrage. Et puis, je peux, ici, ajouter, par exemple, avec vim un 10 - swapiness.conf dans lequel j'écrirais ceci : vmswapiness=10. Ce qui fera qu'il sera pris en compte à chaque démarrage. Donc, voilà pour le swapiness, éventuellement, si vous en avez besoin pour pouvoir agir sur la tendance ou sur l'agressivité du kernel par rapport au swap.

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 !