2014-03-11 02:46:08 +0000 2014-03-11 02:46:08 +0000
104
104

Pourquoi l'utilisation totale de la mémoire indiquée par le gestionnaire des tâches de Windows est-elle beaucoup plus élevée que la somme de l'utilisation de la mémoire de tous les processus ?

Le gestionnaire des tâches indique que mon utilisation totale de la mémoire s'élève à 90 % de mes 6 Go, mais aucun processus n'utilise plus de 250 Mo de RAM et la somme de l'utilisation de la RAM de tous les processus en cours est inférieure à 2 Go. J'ai essayé :

  • En regardant les chiffres dans la colonne “Mémoire” de l'onglet “Processus” du gestionnaire des tâches de Windows 8.
  • En regardant les colonnes “Working Set”, “Private Working Set”, “Shared Working Set”, et “Commit Size” dans l'onglet “Détails” du gestionnaire des tâches.
  • Regarder les colonnes similaires liées à la mémoire dans l'explorateur de processus.
  • J'ai essayé d'exécuter Sysinternals RAMMap, mais alors que j'ai la crise de la mémoire faible, il plante au lancement. Une fois le problème résolu, RAMMap fonctionne normalement, mais à ce stade, il est trop tard.

Tous montrent qu'une quantité assez faible de mémoire est utilisée.

Il y a beaucoup de gens qui posent des variantes de cette question, avec différentes versions de fenêtres, partout sur Internet. Certains d'entre eux parviennent à résoudre leurs problèmes de faible mémoire, souvent en réinstallant des logiciels ; parfois en réinstallant des fenêtres à partir de zéro. Je cherche une réponse aux questions générales que tous partagent, et qui ne semblent jamais trouver de réponse ailleurs : Pourquoi la mémoire totale utilisée est-elle beaucoup plus élevée que la mémoire utilisée par tous les processus énumérés, peu importe comment j'essaie de les compter ? 2. Comment Windows pourrait-il “savoir” que la mémoire est utilisée sans savoir quel programme l'utilise ? 3. Quels processus pourraient éventuellement utiliser de la mémoire mais ne pas figurer sur la liste ? 4. Existe-t-il un logiciel qui peut donner plus d'informations sur la mémoire utilisée ?

Détails spécifiques à mon propre problème : Depuis la mise à niveau vers Windows 8.1, le problème survient dès que je me connecte. Je manque de mémoire dès que j'exécute un programme. J'ai remarqué dans Process Explorer que plusieurs instances de iexplore.exe étaient en cours d'exécution, apparemment démarrées automatiquement. L'une d'entre elles n'utilisait que quelques Mo de mémoire vive, mais affichait des centaines de millions de pages défectueuses. Sur un coup de tête, j'ai tué ce processus spécifique, et l'utilisation de la mémoire a immédiatement chuté de 70 %.

Conduisant à une question spécifique :

  • Comment le fait de tuer un processus qui n'utilisait soi-disant que quelques Mo a-t-il pu libérer plusieurs Go ?

Et une question bonus (sans doute difficile) :

  • À part réinstaller Windows, comment pourrais-je éviter de devoir passer par là chaque fois que je redémarre mon ordinateur ?

Réponses (1)

6
6
6
2014-03-11 05:23:42 +0000

Au fait, vous devriez essayer de ne pas utiliser le terme “mémoire”. Cela crée beaucoup de confusion. Si vous voulez parler de mémoire physique, dites “mémoire physique”, ou “RAM”. Si vous voulez dire “mémoire virtuelle”, dites-le. Si vous voulez dire “mémoire de sauvegarde”, dites-le.

Pourquoi la mémoire totale utilisée est-elle beaucoup plus élevée que la mémoire utilisée par tous les processus énumérés, peu importe comment j'essaie de les compter ?

Parce que le système d'exploitation ne gaspille pas de mémoire physique (RAM) à moins qu'il n'ait pas le choix.

Comment Windows pourrait-il “savoir” que la mémoire est utilisée sans savoir quel programme l'utilise ?

Parce qu'aucun programme ne l'utilise. Prenons, par exemple, la mémoire qui contient le code d'un programme qui vient de se terminer. Aucun programme ne l'utilise. Mais cette mémoire est utilisée, car elle n'est pas libre et contient des données qui pourraient être utiles (au cas où le programme s'exécuterait à nouveau).

Quels sont les processus qui pourraient éventuellement utiliser de la mémoire mais qui figurent maintenant sur la liste ?

Il n'est pas utilisé par les processus.

Existe-t-il un logiciel qui peut donner plus d'informations sur la mémoire utilisée ? RAMMap peut le faire.

Il n'y a que deux possibilités, la RAM peut être utilisée ou elle peut être gaspillée. Évidemment, la première est la meilleure. Toute mémoire libre est à jamais gaspillée - une machine de 4 Go ne peut pas utiliser 2 Go aujourd'hui pour en utiliser 6 Go demain. Si vous vous dites : “Je veux qu'elle soit libre maintenant pour pouvoir l'utiliser plus tard”, oubliez cela. Vous pouvez l'utiliser maintenant et l'utiliser plus tard.

Comment le fait de tuer un processus qui n'utilise soi-disant que quelques Mo pourrait-il libérer plusieurs Go ?

Vous êtes à court de mémoire de sauvegarde, pas de mémoire physique. Vous avez beaucoup de mémoire physique libre, mais pas assez de mémoire de sauvegarde pour que le système d'exploitation puisse continuer à allouer de la mémoire virtuelle qui pourrait nécessiter une sauvegarde.

Le processus n'utilisait que quelques Mo de mémoire physique, mais le système d'exploitation aurait pu devoir lui réserver plusieurs Go de mémoire virtuelle sauvegardée. Par exemple, supposons qu'un processus crée un mappage de mémoire privée inscriptible d'un fichier de 2 Go. Le système d'exploitation doit réserver 2 Go de mémoire virtuelle sauvegardée pour le processus, car il pourrait écrire sur chaque octet de ce mappage. De plus, il se peut qu'il n'écrive jamais sur aucun d'entre eux. C'est pourquoi vous avez besoin d'un fichier de pagination de bonne taille.

Les systèmes d'exploitation modernes écrivent beaucoup de chèques (mémoire de sauvegarde prometteuse) qui ne seront jamais encaissés (nécessitent de la RAM). Vous ne pouvez pas continuer à faire des chèques (promettant une réserve de fonds) même si vous avez beaucoup d'argent à la banque (RAM gratuite) si vous avez déjà fait un tas de gros chèques qui pourraient ou non être encaissés (promis autant de réserve de fonds que vous en avez). Les fichiers de pagination ajoutent un back-up, permettant au système d'exploitation de continuer à écrire des chèques.

Questions connexes

8
19
13
6
13