Pourquoi ma mémoire «engagée» est-elle tellement plus élevée que mon espace RAM réel?

23

http://i.imgur.com/cilRmfD.png

J'ai exécuté deux analyses de virus et aucun d'eux n'a trouvé quoi que ce soit à ce jour (Malware Bytes et Avira Rescue). Pendant les jeux, je reçois des fenêtres contextuelles indiquant que mon système manque de mémoire et recommande de fermer le jeu. Cela peut également se produire lors de la navigation. Mon ordinateur semble beaucoup ralentir et raccroche souvent, comme lorsque vous cliquez sur un lien d'un programme de messagerie pour l'ouvrir dans mon navigateur.

Je ne sais pas ce qui cause cela. Mon utilisation de la mémoire sur l'onglet processus ne correspond pas à un pourcentage aussi élevé de ma mémoire réelle.


En remarque, mon utilisation du disque est-elle censée augmenter jusqu'à 100% parfois? La recherche semble le dire.

Ryld
la source
1
afficher les détails du dôme sur votre matériel. Utilisez-vous un appareil Broadcom Wifi?
magicandre1981

Réponses:

43

"Pourquoi ma mémoire" engagée "est-elle tellement plus élevée que mon espace RAM réel?" Parce que «engagé» est principalement un espace d'adressage virtuel privé de processus , et certains d'entre eux peuvent être dans la RAM et d'autres dans le fichier d'échange.

Et certains pourraient n'occuper aucun espace de stockage! C'est si elle a été allouée mais n'a jamais été consultée, donc pas encore "en panne". Mais il compte toujours contre la "limite de validation" car s'il est accessible à l'avenir, il occupera alors du stockage . Et il est trop tard pour que le système dise "désolé, nous n'avons plus de place".

L'intérêt de la mémoire virtuelle est qu'elle peut être beaucoup plus grande que la mémoire physique (RAM), non?

btw ... vous semblez avoir un fichier d'échange d'environ 24 Go, car vous avez 8 Go de RAM et la limite de validation est de 32 Go. Votre "engagement" pourrait donc atteindre 32 Go. (Et pour le moment, il est presque aussi élevé, donc réduire ou éliminer le fichier d'échange serait une mauvaise idée.)

Alors que la RAM utilisée est juste cela. Donc, bien sûr , la RAM utilisée + le fichier d'échange utilisé peuvent être plus grands que la RAM utilisée.

Une partie de tout l'intérêt de la mémoire virtuelle, après tout, est que vous pouvez utiliser plus de mémoire virtuelle que de mémoire physique (RAM).

Si vous voulez savoir ce qui utilise la mémoire engagée, vous devez consulter l'onglet "Détails" du Gestionnaire des tâches et activer la colonne "Taille de validation".

Le total des colonnes "Taille de validation" ne correspondra pas non plus à la "charge de validation" (30,1 Go sur votre machine), car d'autres éléments contribuent à la charge de validation: pool non paginé et paginé et certains mécanismes plus "subtils" comme la copie sur -écrire des sections, des sections soutenues par un fichier d'échange, des mappages AWE ... mais ceux-ci sont généralement petits par rapport au processus privé)

Sur cet onglet, la colonne "Mémoire (ensemble de travail privé)" correspond à ce que l'onglet "Processus" affiche pour "Mémoire". Il s'agit de la RAM actuellement affectée à chaque processus pour son espace d'adressage virtuel engagé. Le reste sera dans le fichier d'échange. Mais, encore une fois, les processus ont d'autres types d'espace d'adressage, principalement du type appelé "mappé", et une partie de celui-ci sera également en RAM. Il existe d'autres éléments à l'échelle du système créés par le système d'exploitation, qui ne sont spécifiques à aucun processus, qui utilisent également de la RAM.

En bref, la colonne "Mémoire" de l'onglet "Processus" n'est pas censée s'additionner à la RAM totale utilisée. Il montre uniquement quelle part de l'utilisation totale est utilisée en privé par chaque processus.

Jamie Hanrahan
la source
J'étais sur le post "@Ryld Si vous voulez en savoir plus sur la mémoire virtuelle, lisez cette très bonne réponse d'une autre question" ... Ensuite, j'ai remarqué que la réponse à laquelle je faisais le lien a également été écrite par vous :). Je pense avoir dirigé 4 ou 5 autres questions sur la mémoire virtuelle vers cette réponse, merci d'avoir fait une si bonne réponse en profondeur.
Scott Chamberlain
2

Windows utilise un fichier d'échange, qui est comme la RAM, mais stocké sur votre disque dur. C'est beaucoup plus lent, mais c'est utile lorsque vous devez utiliser plus de mémoire que vous n'en avez sur votre ordinateur. Windows stocke des parties de mémoire qui n'ont pas été utilisées pendant un certain temps dans le fichier d'échange quand il a besoin de stocker plus de mémoire mais n'a pas d'espace dans la RAM pour le stocker.

La mémoire engagée est la mémoire que vous avez sur votre ordinateur plus le fichier d'échange. Il semble que parfois les programmes utilisent trop de mémoire et que Windows stocke certaines choses dans le fichier d'échange. Le fichier d'échange n'était pas assez grand pour contenir toutes les fenêtres de mémoire qu'il contenait, il a donc dû augmenter sa taille. Il a continué à augmenter sa taille jusqu'à ce qu'il atteigne sa limite. Maintenant, Windows ne peut plus augmenter le fichier d'échange, ce qui signifie qu'il ne peut pas stocker de mémoire supplémentaire, donc sa seule option est de vous dire de fermer quelques programmes pour réduire l'utilisation de la mémoire. La raison pour laquelle votre ordinateur est lent est qu'il doit charger des éléments à partir du fichier d'échange, ce qui est beaucoup plus lent que le chargement direct à partir de la RAM et rend l'utilisation du disque très élevée, car le fichier d'échange est stocké sur le disque dur.

Vous ne devriez pas avoir autant de programmes ouverts que vous et assurez-vous que votre ordinateur dispose de suffisamment de mémoire pour les jeux auxquels vous jouez et les programmes que vous utilisez. J'espère que ça aide!

theodoros_1234
la source