Outils pour utilisateurs

Outils du site


issue49:labolinux

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
issue49:labolinux [2011/06/21 17:20] auntieeissue49:labolinux [2011/06/21 23:52] (Version actuelle) andre_domenech
Ligne 13: Ligne 13:
 •  Anonymous mappings are volatile pages which don't correspond to any file name; these contain the stack and heap variables of running tasks, created by a program requesting a memory allocation from the kernel.** •  Anonymous mappings are volatile pages which don't correspond to any file name; these contain the stack and heap variables of running tasks, created by a program requesting a memory allocation from the kernel.**
  
-La dernière fois, nous avons créé une sorte d'échelle mobile afin de déterminer si, oui ou non, une partition swap est a) essentielle, b) utile, c) gaspilleuse, ou d) obsolète. Ne vous inquiétez pas, ce n'est pas un examen. Cependant, cela peut valoir le coup d'examiner de plus près le sujet de la Gestion de la mémoire virtuelle (Virtual Memory Management), pour l'appeler comme il faut. Les anciens hackers Linux parmi vous devront excuser le résumé du niveau du Docteur Seuss (Ndt : auteur de livres pour enfants, comme //Le chat chapeauté+La dernière fois, nous avons créé une sorte d'échelle mobile afin de déterminer si, oui ou non, une partition swap est a) essentielle, b) utile, c) gaspilleuse, ou d) obsolète. Ne vous inquiétez pas, ce n'est pas un examen. Cependant, cela peut valoir le coup d'examiner de plus près le sujet de la gestion de la mémoire virtuelle (Virtual Memory Management), pour l'appeler comme il faut. Les anciens hackers Linux parmi vous devront excuser le résumé du niveau du Docteur Seuss (Ndt : auteur de livres pour enfants, comme //Le Chat chapeauté
 //) qui suit (ou, alors, écrire votre propre livre de 300 pages sur le sujet). //) qui suit (ou, alors, écrire votre propre livre de 300 pages sur le sujet).
  
Ligne 20: Ligne 20:
 La mémoire, telle qu'utilisée par un système d'exploitation Linux, est divisée en pages, qui peuvent elle-mêmes être classées d'après leur usage : La mémoire, telle qu'utilisée par un système d'exploitation Linux, est divisée en pages, qui peuvent elle-mêmes être classées d'après leur usage :
  
-* Les pages de Noyau sont fixées dans la mémoire et ne sont jamais déplacées. Certains systèmes d'exploitation possède des noyaux qui sont paginables, mais Linux joue la sécurité.+* Les pages du noyau sont fixées dans la mémoire et ne sont jamais déplacées. Certains systèmes d'exploitation possèdent des noyaux qui sont paginables, mais Linux joue la sécurité.
  
-* Les pages mémoire de Programmes ou d'Applications sont gardé dans la mémoire en lecture seule et sont des copies exactes du fichier binaire exécutable sur le disque.+* Les pages mémoire de programmes ou d'applications sont gardées dans la mémoire en lecture seule et sont des copies exactes du fichier binaire exécutable sur le disque.
    
-* Les pages de Fichiers sauvegardés contiennent des valeurs changeantes qui n'ont pas encore été écrit sur le disque. Celles-ci peuvent contenir des modifications dans la mémoire qui n'ont pas encore été écrites.+* Les pages de fichiers sauvegardés contiennent des valeurs volatiles qui n'ont pas encore été écrites sur le disque. Celles-ci peuvent contenir des modifications dans la mémoire qui n'ont pas encore été écrites.
  
-* Les pages Topographie mémoire anonyme sont des pages instables qui ne correspondent à aucun nom de fichier ; celles-ci contiennent les variables de pile et de tas (stack and heap) des tâches en cours d'exécution, créées par un programme qui a demandé au noyau une allocation de mémoire.+* Les pages de topographie mémoire anonymes sont des pages instables qui ne correspondent à aucun nom de fichier ; celles-ci contiennent les variables de pile et de tas (stack et heap) des tâches en cours d'exécution, créées par un programme qui a demandé au noyau une allocation de mémoire.
  
 **The cached pages can be divided into 'clean' and 'dirty', which the kernel memory manager has to look after in the background. **The cached pages can be divided into 'clean' and 'dirty', which the kernel memory manager has to look after in the background.
Ligne 34: Ligne 34:
 •  Dirty pages contain changed data since the last read or instantiation. These have to be 'evicted' - the changed values recorded to disk - before the memory can be flushed.** •  Dirty pages contain changed data since the last read or instantiation. These have to be 'evicted' - the changed values recorded to disk - before the memory can be flushed.**
  
-Les pages caches peuvent être classées en « propres » et en « sales» ; le gestionnaire de mémoire du noyau doit s'en occuper en tâche de fond.+Les pages de cache peuvent être classées en « propres » et en « sales » ; le gestionnaire de mémoire du noyau doit s'en occuper en tâche de fond.
  
-Propre signifie que les données en mémoires sont les mêmes que sur le disque ou que les valeurs n'ont pas été modifiées depuis qu'elles ont été instanciées. Les pages propres peuvent être enlever quand le système a besoin de mémoire pour autre chose, puisqu'elles correspondent aux données originales disponibles sur disque.+•  Propre signifie que les données en mémoire sont les mêmes que sur le disque ou que les valeurs n'ont pas été modifiées depuis qu'elles ont été instanciées. Les pages propres peuvent être enlevées quand le système a besoin de mémoire pour autre chose, puisqu'elles correspondent aux données originales disponibles sur disque.
  
-Les pages sales contiennent des données modifiées depuis la dernière lecture ou instanciation. Il faut qu'elles soient « évincées » - les valeurs modifiées doivent être écrites sur le disque - avant la remise à zéro de la mémoire.+•  Les pages sales contiennent des données modifiées depuis la dernière lecture ou instanciation. Il faut qu'elles soient « évincées » - les valeurs modifiées doivent être écrites sur le disque - avant la remise à zéro de la mémoire.
  
 **It's important to remember that Linux has no separate disk cache, unlike Unix- or DOS-based systems. It's designed to read-in and keep the most useful data from disk as cached pages. Also, the kernel doesn't usually modify the disk directly: changes are made to the files in memory, then 'flushed' after a disk-write by the memory manager. It's a data-security thing. **It's important to remember that Linux has no separate disk cache, unlike Unix- or DOS-based systems. It's designed to read-in and keep the most useful data from disk as cached pages. Also, the kernel doesn't usually modify the disk directly: changes are made to the files in memory, then 'flushed' after a disk-write by the memory manager. It's a data-security thing.
Ligne 44: Ligne 44:
 At times of peak workload, this is the operation which slows everything down, as the kernel runs out of empty and clean pages in the pool; it has to write dirty pages to disk before it can continue on with its prioritized tasks. File-backed pages are flushed by writing-back to their parent file on disk. Anonymous mappings, however, have no backing-file, these are stacks and arrays of works-in-progress. Where do they go? Into Swap! ** At times of peak workload, this is the operation which slows everything down, as the kernel runs out of empty and clean pages in the pool; it has to write dirty pages to disk before it can continue on with its prioritized tasks. File-backed pages are flushed by writing-back to their parent file on disk. Anonymous mappings, however, have no backing-file, these are stacks and arrays of works-in-progress. Where do they go? Into Swap! **
  
-Il est important de se souvenir que, contrairement au systèmes basés sur Unix ou sur DOS, Linux n'a pas de cache disque distincte. Sa conception veut qu'il lise les données les plus utiles du disque, puis qu'il les garde comme des pages cache. En général, le noyau ne modifie pas directement le disque : les fichiers en mémoire sont modifiés, puis la mémoire est remise à zéro après qu'ils soit écrits sur le disque par le gestionnaire de mémoire. C'est un truc de sécurité des données.+Il est important de se souvenir que, contrairement aux systèmes basés sur Unix ou sur DOS, Linux n'a pas de cache disque distinct. Sa conception veut qu'il lise les données les plus utiles du disque, puis qu'il les garde comme des pages en cache. En général, le noyau ne modifie pas directement le disque : les fichiers en mémoire sont modifiés, puis la mémoire est remise à zéro après qu'ils soit écrits sur le disque par le gestionnaire de mémoire. C'est une question de sécurité des données.
  
-Aux heures de pointes, c'est l'opération qui ralentit tout, puisque le noyau n'a plus de pages vides et propres dans le groupe ; il faut qu'il écrive les pages sales sur le disque avant qu'il ne puisse continuer ses tâches priorisées. Les pages de fichiers sauvegardées sont remises à zéro lors de l'écriture de ceux-ci vers leur fichier parent sur le disque. N'ayant pas fichier de sauvegarde, les topographies anonymes, cependant, sont des piles et des rangements de travaux en cours. Où vont-elles ? Dans la partition swap !+Aux heures de pointe, c'est l'opération qui ralentit tout, puisque le noyau n'a plus de pages vides et propres dans le groupe ; il faut qu'il écrive les pages sales sur le disque avant de pouvoir continuer ses tâches priorisées. Les pages de fichiers sauvegardées sont remises à zéro lors de l'écriture de ceux-ci vers leur fichier parent sur le disque. N'ayant pas fichier de sauvegarde, les topographies anonymes, cependant, sont des piles et des rangements de travaux en cours. Où vont-elles ? Dans la partition swap !
  
 **If you don't have swap space, then anonymous mappings can't be flushed, they have to stay in memory until they're deleted. This reduces the size of the memory pool that the kernel can draw on to keep running all concurrent processes. It has to keep juggling file-backed pages, which can be even slower in operation; navigating directory trees and performing disk-writes by-the-book. It's a lot simpler and faster to blast out copies of flat pages to Swap. Remember, RAM is expensive, disk is cheap.** **If you don't have swap space, then anonymous mappings can't be flushed, they have to stay in memory until they're deleted. This reduces the size of the memory pool that the kernel can draw on to keep running all concurrent processes. It has to keep juggling file-backed pages, which can be even slower in operation; navigating directory trees and performing disk-writes by-the-book. It's a lot simpler and faster to blast out copies of flat pages to Swap. Remember, RAM is expensive, disk is cheap.**
  
-Si vous n'avez pas de place dans swap, les topographies anonymes ne peuvent pas être remises à zéros et elles devront rester dans la mémoire jusqu'à leur suppression. Cela réduit la taille de la mémoire disponible dont le noyau peut se servir pour l'exécution de tous les processus simultanés en cours. Il faut qu'il jongle avec les pages de fichiers sauvegardés, une opération qui peut être encore plus lent : naviguer les arborescences de répertoire et écrire vers le disque selon les règles prend beaucoup de temps. C'est beaucoup plus simple et rapide d'envoyer vite fait la copie de pages plates FIXME vers la partition swap. +Si vous n'avez pas de place de swap, les topographies anonymes ne peuvent pas être remises à zéro et elles devront rester dans la mémoire jusqu'à leur suppression. Cela réduit la taille de la mémoire disponible dont le noyau peut se servir pour l'exécution de tous les processus simultanés en cours. Il faut qu'il jongle avec les pages de fichiers sauvegardés, une opération qui peut être encore plus lente : naviguer dans les arborescences de répertoires et écrire vers le disque selon les règles prend beaucoup de temps. C'est beaucoup plus simple et rapide d'envoyer vite fait la copie de pages plates vers la partition swap. 
  
 **Partition or File? **Partition or File?
Ligne 58: Ligne 58:
 Partition ou fichier ? Partition ou fichier ?
  
-La critique du départ est qu'une partition swap entière est du gâchis, surtout si vous n'avez qu'un petit disque dur ou un solid-state drive (SSD). Vous pouvez vous servir de fichiers swap, comme quelques autres systèmes d'exploitation que nous nommerons pas, mais il faut vous rappeler que les fichiers swap doivent suivre les mêmes règles à côté de tout les reste dans votre système de fichiers à journal. Une partition swap est cantonnée pour la pagination ; aucun autre fichier peut y résider.+La critique de départ est qu'une partition swap entière est du gâchis, surtout si vous n'avez qu'un petit disque dur ou un solid-state drive (SSD). Vous pouvez vous servir de fichiers swap, comme quelques autres systèmes d'exploitation que nous nommerons pas, mais il faut vous rappeler que les fichiers swap doivent suivre les mêmes règles à côté de tout le reste dans votre système de fichiers journalisé. Une partition swap est cantonnée pour la pagination ; aucun autre fichier ne peut y résider.
  
 **Kernel Panic **Kernel Panic
Ligne 70: Ligne 70:
 C'est une condition médicale reconnue d'angoisse, qui survient chez les utilisateurs Linux lorsqu'ils lancent les commandes « free » ou « vmstat » et découvrent le peu de mémoire libre qui reste. Vous pouvez vous détendre, c'est tout à fait normal. C'est une condition médicale reconnue d'angoisse, qui survient chez les utilisateurs Linux lorsqu'ils lancent les commandes « free » ou « vmstat » et découvrent le peu de mémoire libre qui reste. Vous pouvez vous détendre, c'est tout à fait normal.
  
-Le gestionnaire de mémoire du noyau essaie de remplir la RAM disponible avec des pages cache car il s'attend à ce que les fichiers soient utilisés à nouveau et, ainsi, il n'aura pas besoin d'aller les chercher sur le disque. C'est fait exprès. Des livres entiers ont été écrits sur les algorithmes utilisés pour prédire ce qu'il faut mettre en cache, ce qu'il faut remettre à zéro, quand et combien de mémoire il serait souhaitable de laisser dans le groupe vide. Si vous n'avez rien de mieux à faire, vous pouvez regarder la quantité de votre mémoire libre monter et descendre. Juste après le démarrage, il y en a beaucoup, qui décroit quand vous commencez à lancer des applications, puis augmente à nouveau quand vous fermez un programme et les pages de données qu'il détenait sont relâchées.+Le gestionnaire de mémoire du noyau essaie de remplir la RAM disponible avec des pages en cache car il s'attend à ce que les fichiers soient utilisés à nouveau et, ainsi, il n'aura pas besoin d'aller les chercher sur le disque. C'est fait exprès. Des livres entiers ont été écrits sur les algorithmes utilisés pour prédire ce qu'il faut mettre en cache, ce qu'il faut remettre à zéro, quand et combien de mémoire il serait souhaitable de laisser dans le groupe vide. Si vous n'avez rien de mieux à faire, vous pouvez regarder la quantité de votre mémoire libre monter et descendre. Juste après le démarrage, il y en a beaucoup, qui décroît quand vous commencez à lancer des applications, puis augmente à nouveau quand vous fermez un programme et que les pages de données qu'il détenait sont relâchées.
  
 **Swap On **Swap On
Ligne 103: Ligne 103:
 Which brings us neatly back to the need for Swap. It's only there to support our marvelous multi-tasking, time-slicing operating system that we run on our lightning fast, parallel-processing multi-core CPUs. If you only do one thing at a time, you can happily ignore everything I just said. Before you do, try running the top command in a terminal during a busy session.** Which brings us neatly back to the need for Swap. It's only there to support our marvelous multi-tasking, time-slicing operating system that we run on our lightning fast, parallel-processing multi-core CPUs. If you only do one thing at a time, you can happily ignore everything I just said. Before you do, try running the top command in a terminal during a busy session.**
  
-Toute valeur réglée de cette manière dure jusqu'au prochain re-démarrage. Pour le changer de façon permanente, il faut éditer le paramètre « vm.swappiness » dans le fichier /etc/sysctl.conf.+Toute valeur réglée de cette manière dure jusqu'au prochain redémarrage. Pour le changer de façon permanente, il faut éditer le paramètre « vm.swappiness » dans le fichier /etc/sysctl.conf.
  
-En ajustant le swapitude, vous portez un jugement ; vous allez ainsi influencer le gestionnaire de mémoire du noyau pour ou contre l'utilisation de la partition swap sur disque. Si votre réglage est trop haut, il y a un risque que les écritures sur disque sautent au plafond, tandis que les processus simultanés doivent attendre encore davantage dans la queue pour que leurs données soient lues sur le disque avant qu'ils reçoivent son temps de traitement.+En ajustant la swapitude, vous portez un jugement ; vous allez ainsi influencer le gestionnaire de mémoire du noyau pour ou contre l'utilisation de la partition swap sur disque. Si votre réglage est trop haut, il y a un risque que les écritures sur disque sautent au plafond, tandis que les processus simultanés doivent attendre encore davantage dans la queue pour que leurs données soient lues sur le disque avant qu'ils reçoivent leur temps processeur.
  
-Ce qui nous ramène habilement à la question de la nécessité d'une partition swap. Ce n'est là que pour soutenir le système d'exploitation multi-tâche, merveilleux et très rapide que nous exécutons sur notre CPU à cores multiples, capable du traitement parallèle et rapide comme l'éclair. Si vous ne faites qu'une chose à la fois, vous pouvez joyeusement vous désintéresser complètement de tout ce que je viens de dire. Avant, cependant, essayez de lancer la commande « top » [Ndt : un outil de surveillance du système] dans un terminal pendant une session très chargée.+Ce qui nous ramène habilement à la question de la nécessité d'une partition swap. Elle n'est là que pour soutenir le système d'exploitation multi-tâche, merveilleux et très rapide que nous exécutons sur notre CPU à coeurs multiples, capable du traitement parallèle et rapide comme l'éclair. Si vous ne faites qu'une chose à la fois, vous pouvez joyeusement vous désintéresser complètement de tout ce que je viens de dire. Avant, cependant, essayez de lancer la commande « top » [Ndt : un outil de surveillance du système] dans un terminal pendant une session très chargée.
issue49/labolinux.1308669651.txt.gz · Dernière modification : 2011/06/21 17:20 de auntiee