Pourquoi l’utilisation de la RAM des processus du Task Manager ne s’additionne-t-elle pas à l’utilisation totale de la mémoire ?


Je suppose que vous parlez de l'utilisation de la mémoire telle qu'elle est affichée sur windows vista+, c'est juste le "workset privé" de l'application, qui ne tient pas compte de la mémoire allouée par le système et des binaires mappés en mémoire, comme les dépendances DLL qui seraient partiellement partageables par d'autres processus.

si vous regardez sur le gestionnaire de tâches sur "sélectionner les colonnes", vous avez plus d'options de mémoire, un autre workset, les réserves (qui sont comme des frais généraux du système pour les allocations) et nommé quelque chose comme "mémoire virtuelle" qui est le côté opposé du workset, où il rend compte de toutes les ADRESSES qui étaient en cours d'utilisation sur le programme (mémoire qui est réservée mais pas encore commise (utilisée)). donc la mémoire qui est physiquement partagée entre les processus, y serait comptabilisée de façon répétitive pour tous les processus


pour ce qui est de l'utilisation réelle de la mémoire lorsqu'un système est devenu faible en mémoire à un moment donné, vous avez également le problème qu'une partie de la mémoire que le processus utilise a été swappée (vers le disque, ou jetée dans le cas de ressources binaires, car elles sont déjà sur le disque de toute façon), donc dans ce cas, la valeur du workset serait plus grande que la mémoire physique réelle que le processus utilise...

donc... l'utilisation de la mémoire n'est pas si simple 🙂