J'utilise de la RAM pour stocker certaines de mes tables de base de données et les autres sont stockées sur le disque dur.
Aujourd'hui, j'ai appris que mes processus utilisent la mémoire d'échange. Maintenant, qu'est-ce que la mémoire d'échange et comment puis-je détecter quel processus utilise la mémoire d'échange et comment puis-je les empêcher de l'utiliser?
Réponses:
Si vous manquez de mémoire physique, vous utilisez la mémoire virtuelle, qui stocke les données en mémoire sur le disque. La lecture à partir du disque est de plusieurs ordres de grandeur plus lente que la lecture à partir de la mémoire, donc cela ralentit tout le chemin. (L'échange de données entre la mémoire réelle et la mémoire virtuelle est un «échange». L'espace sur le disque est un «espace d'échange».)
Si votre application "utilise le swap", vous devez utiliser moins de mémoire ou acheter plus de RAM.
(L'échange est utile car les applications qui ne sont pas utilisées peuvent être stockées sur le disque jusqu'à ce qu'elles soient utilisées. Ensuite, elles peuvent être "paginées" et s'exécuter à nouveau normalement. Bien qu'elle ne soit pas en mémoire, le système d'exploitation peut utiliser cette mémoire pour autre chose, comme le cache disque. C'est donc une fonctionnalité très utile, mais si vous n'avez pas assez de mémoire physique pour exécuter votre programme, vous avez certainement besoin de plus de mémoire. Heureusement, la mémoire est vraiment très bon marché de nos jours.)
la source
Un ordinateur possède une certaine quantité de mémoire physique. Mais la plupart du temps, nous en voulons plus. Nous échangeons donc de la mémoire sur le disque.
Chaque fois que nous avons besoin de cette mémoire, elle doit être remise en mémoire (en échangeant une autre pièce). Il existe des algorithmes extrêmement intelligents pour minimiser le retard, mais parfois nous devons attendre.
Sous Windows, si vous regardez le gestionnaire de tâches, vous pouvez afficher les défauts de page de colonne. Cela montre le nombre de fois, une application demande un morceau de mémoire qui était sur le disque et doit être échangé. Beaucoup de défauts de page = application lente.
Ce processus est utilisé à plusieurs niveaux. Un résumé de rapide à lent:
la source
Si vous ne souhaitez pas utiliser swap, n'utilisez pas de partition swap (commentez la ligne
/etc/fstab
), mais cela empêchera de démarrer un nouveau processus et fera échouer malloc si vous manquez de mémoire physique. Ce n'est pas une bonne idée en général ... pas très sûr et même pas très utile, car le système d'exploitation gardera les pages chaudes en mémoire et échangera sur le disque celles qui ne sont pas utilisées récemment.Une autre solution pourrait être de pirater votre base de données afin de verrouiller les pages en mémoire (je sais que cela peut être fait, mais je ne peux pas vous dire maintenant exactement comment), mais de toute façon, c'est comme si votre base de données utilisait son propre échange et mécanismes de mise en cache.
Pour savoir quel est l'échange et comment fonctionne la mémoire virtuelle ... Je vous recommande de jeter un œil à certaines conférences sur le système d'exploitation, peut-être que le MIT Open Courseware pourrait vous être utile.
la source
J'ai trouvé une réponse partielle. Une mémoire d'échange est un espace sur le disque dur de votre ordinateur que les systèmes d'exploitation utiliseront pour mettre les informations qui se trouvent réellement dans la RAM pour les libérer pour une autre application. Cela devrait être fait lorsque le système a besoin de mémoire pour un nouveau processus et qu'il n'y en a pas, donc nous pouvons voir que si notre système a beaucoup de RAM, il n'aura peut-être pas besoin de mémoire SWAP.
MISE À JOUR
Pour savoir où Swap l'espace (ou la mémoire virtuelle), vous pouvez aller à Task Manger (CTRL + ALT + DEL) et activer sur VIEW -> COLUMNS -> VIRTUAL MEMORY. Maintenant, calculez simplement la différence entre l'utilisation de la mémoire et la mémoire virtuelle. Voici également une instruction pour le voir si vous utilisez Vista: http://www.ehow.com/how_5067693_increase-swap-space.html
la source
Swap est l'espace disque dur utilisé comme RAM. Il est (relativement parlant) très lent, mais empêche les ordinateurs de planter lorsqu'ils essaient de traiter plus de données que leur RAM ne peut les gérer.
Pour empêcher les processus d'utiliser swap - installez plus de RAM.
la source
Si vous ne souhaitez pas que vos processus utilisent la mémoire d'échange, désactivez simplement la mémoire d'échange. Malheureusement, si jamais vous manquez de mémoire, le noyau Linux tuera certains de vos processus en cours afin de libérer de la mémoire pour utilisation.
Si vous avez suffisamment de RAM pour votre système, vous pouvez réellement vous passer de mémoire d'échange.
J'ai un ordinateur portable avec 768 Mo de RAM qui n'utilise pas de mémoire d'échange. C'est assez bon pour mes besoins. J'ai un serveur avec 256 Mo de RAM et n'utilise pas de mémoire d'échange. Il exécute 8 serveurs virtuels utilisant la virtualisation OpenVZ, sans problème non plus.
Donc, c'est à vous de décider si vous avez besoin de mémoire d'échange.
la source