> Tech > Autres prétentions des optimiseurs de RAM

Autres prétentions des optimiseurs de RAM

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

Certains fournisseurs mettent en avant d'autres mérites pour leurs produits optimiseurs de RAM. L'une de ces prétentions est qu'un produit libère la mémoire qui est consommée inutilement par des processus inutilisés, comme ceux qui fonctionnent dans le plateau de la barre des tâches. Toutes les assertions de ce genre sont

Autres prétentions des optimiseurs de RAM

inexactes, parce que Windows nettoie
automatiquement les ensembles de
travail des processus inactifs. Le Memory
Manager effectue toute l’optimisation de
mémoire nécessaire.
Les développeurs des optimiseurs de RAM prétendent
aussi que leurs produits défragmentent la mémoire. Le fait
d’allouer puis de libérer une grande quantité de mémoire
virtuelle pourrait, comme effet secondaire concevable, conduire
à  des blocs de mémoire disponible contigus. Mais
comme la mémoire virtuelle masque la structure de la mémoire
physique aux yeux des processus, ces derniers ne peuvent
pas profiter directement du fait que la mémoire virtuelle
est épaulée par une mémoire physique contiguà«. Au fur et à 
mesure que les processus s’exécutent et s’accompagnent du
nettoyage et de la croissance des ensembles de travail, leurs
mappings entre la mémoire virtuelle et la mémoire physique
vont se fragmenter, malgré la disponibilité de mémoire
contiguà«.
Dans un cas bien particulier, la présence de mémoire disponible
contiguà« peut améliorer la performance: quand le
Memory Manager, pour optimiser le comportement des
caches mémoire de la CPU, utilise un mécanisme appelé
page coloring pour décider quelle page provenant de la liste
des pages libres ou mises à  zéro sera attribuée à  un processus.
Cependant, le petit avantage qui pourrait résulter
d’avoir rendu contiguà« la mémoire physique disponible, est
largement compensé par l’impact négatif de l’abandon de
code et de données valables à  partir de la mémoire.
Enfin, les fournisseurs clament souvent que les optimiseurs
de RAM regagnent la mémoire perdue à  cause des
fuites. Cette affirmation est peut-être la plus fausse de toutes.
Le Memory Manager sait en permanence quelle mémoire
physique et virtuelle appartient à  un processus. Toutefois, si
un processus alloue de la mémoire puis ne la libère pas à 
cause d’un bogue (appelé fuite en l’occurrence), le Memory
Manager ne peut pas reconnaître que la mémoire allouée ne
fera pas l’objet d’un nouvel accès ultérieurement et il doit attendre
que le processus sorte pour récupérer la mémoire.
Même dans le cas d’un processus fuyant qui ne sort pas,
le nettoyage de l’ensemble de travail du Memory Manager
« volera » à  l’ensemble de travail du processus les éventuelles
pages physiques qui sont attribuées à  la mémoire virtuelle
victime de la fuite. Ce processus envoie les pages victimes de
la fuite au fichier paging et laisse le système utiliser la mémoire
physique à  d’autres fins. Par conséquent, une fuite de
mémoire n’a qu’un impact limité sur la mémoire physique
disponible. Le véritable impact touche la consommation de
mémoire virtuelle (que Task Manager appelle PF Usage et
Commit Charge). Aucun utilitaire ne peut agir sur la
consommation de mémoire virtuelle, autrement qu’en tuant
les processus qui consomment de la mémoire.

Téléchargez cette ressource

Préparer l’entreprise à l’IA et aux technologies interconnectées

Préparer l’entreprise à l’IA et aux technologies interconnectées

Avec la « quatrième révolution industrielle », les environnements hyperconnectés entraînent de nouveaux risques en matière de sécurité. Découvrez, dans ce guide Kaspersky, comment faire face à cette nouvelle ère de vulnérabilité.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010