web-dev-qa-db-fra.com

La charge de validation est pleine à 100% mais la mémoire physique n’est que de 60% si aucun fichier de page n’est utilisé

J'ai désactivé le fichier de page sur mon système (le disque dur est aussi lent, je ne peux pas en acheter un nouveau immédiatement, je ne peux pas déplacer le fichier de page vers une autre partition). . Lorsque je vois dans Resource Monitor, en utilisant des applications exigeantes en mémoire, le système montre que la charge de validation est presque complète. En effet, si je continue à demander plus de mémoire, les programmes commencent à se bloquer, car la charge de validation atteint effectivement 100%.

En attendant, le système indique que je n'utilise que 50 à 60% de mémoire physique et que j'ai environ 1 Go de mémoire disponible (en mode veille + libre).

Si la charge de validation correspond à la quantité totale de mémoire réellement demandée, pourquoi le système indique-t-il tant de mémoire libre? La mémoire physique est-elle utilisée par Windows? Le graphique de mémoire est-il faux? Est-ce que je manque quelque chose?

Commit charge graph vs Physical memory graphTask manager

24
Jason Oviedo

Manquer de la limite de validation alors qu'il vous reste encore beaucoup de RAM n'est pas inhabituel. Ni la limite de validation ni les frais de validation ne sont directement liés à la RAM libre ou disponible.

La limite de validation = taille actuelle du fichier d'échange + RAM taille.

Comme vous n'avez pas de fichier de page, la limite de validation est plus petite que si vous aviez un fichier de page. Peu importe la quantité de RAM qui est libre . Pour la limite de validation, seul le montant de RAM installé est important. Vous pouvez dépasser la limite de validation, même avec 90% de votre RAM libre ou disponible.

La charge de validation est un compte de la mémoire virtuelle, pas physique. Supposons que mon programme demande 2 Go engagés, mais qu’il n’y accède qu’à 0,5 GB. Les 1,5 Go restants ne font jamais défaut, ne sont jamais affectés à la RAM. Par conséquent, RAM utilisation ne reflète pas les 2 Go, mais seulement 0,5 Go.

Néanmoins, la "validation système" est augmentée de 2 Go, car le système s'est "engagé" sur le fait qu'il y aura un emplacement pour stocker mes 2 Go, si j'avais réellement besoin de tout. Le fait que, quelle que soit l'exécution du programme, je n'essayerai pas nécessairement de tout utiliser n'aidera pas. J'ai demandé 2 Go et le retour réussi de cet appel m'indique que le système d'exploitation "s'est engagé" - c'est-à-dire promis - que je peux utiliser autant d'espace d'adressage virtuel. Le système d'exploitation ne peut pas faire cette promesse à moins qu'il y ait un endroit pour tout garder.

Donc: replacez votre fichier d'échange, ajoutez plus de RAM, ou exécutez moins de choses à la fois. Ou une combinaison des trois. Ce sont vos seules options pour éviter les erreurs "manque de mémoire" et "insuffisance de mémoire".

Voir aussi mes réponses ici (plus long) et ici (beaucoup plus long) .

24
Jamie Hanrahan

Comme le test d'allocation de mémoire dans l'article à http://brandonlive.com/2010/02/21/measuring-memory-usage-in-windows-7/ illustre, Windows est un type de système qui échouerait avec une allocation de mémoire importante si cette allocation, ainsi que toutes les allocations précédentes (le concept appelé par Microsoft comme "commit"), ferait passer le total de "commit" au-dessus de la somme de à la fois la mémoire physique et la somme de tous les fichiers de page (swap).

Considérez que une allocation en soi n’utilise pas de mémoire réelle (ni physique ni swap), avant une lecture ou une écriture ayant lieu dans l’espace d’adresse virtuelle du processus pour la allocation susmentionnée. Par exemple. une allocation de 2 Go par elle-même n’affecterait que les chiffres "Commit" (dans Windows 7 conversation), laissant "Mémoire physique" seule (jusqu’à ce que la lecture/écriture dans ladite allocation se produise).

En ce qui concerne la conception du système d’exploitation, l’approche alternative consisterait à autoriser toujours l’attribution de toute taille (à moins que la mémoire disponible ne soit déjà complètement épuisée), puis à laisser les applications échouer en lecture/écriture. Voir https://cs.stackexchange.com/questions/42877/when-theres-no-memory-should-malloc-or-read-write-fail pour plus de détails.

4
cnst

La mémoire disponible n'est pas ce que vous pensez. Il n’est pas inutilisé, c’est un cache de fichiers de processus récemment terminés ou de processus ajustés qui ont été forcés de donner de la mémoire à d’autres processus. Ils pourraient être rappelés à leur but initial. voir pour plus de détails.

http://support.Microsoft.com/kb/312628

Pour ne pas avoir un fichier de page, c'est très mauvais. Windows se dégrade mal sans un. N'oubliez pas que même les fichiers exécutables sont utilisés comme fichiers d'échange lorsqu'il n'y a pas de fichier de page. Même si le lecteur est lent, il est préférable d’avoir un fichier de page jusqu’à obtenir de 8 à 16 Go de mémoire. Certaines personnes pensent que même Windows 7 peut tourner sans un.

Je donne régulièrement un coup de pouce à la vieille machine en faisant quelques choses. Nettoyez le disque dur autant que possible. Copiez tout ce que vous pouvez retirer temporairement du lecteur sur une sauvegarde. Supprimez les applications dont vous n'avez pas besoin. Supprimer les applications peuvent réinstaller.

Quand tout cela est fait, défragmentez votre disque dur. À ce stade, recréez votre fichier de page. Ce sera le plus proche possible de l'avant du lecteur. Créez une taille fixe d'environ 1,5 fois la mémoire. C’est ma règle, en général j’ai vu des tailles comprises entre 1 et 3 fois en mémoire. Cela lui donnera une légère augmentation de vitesse par rapport aux endroits habituels où il serait placé.

J'utilise le défragreur auslogic, il est gratuit (les annonces pour plus d'outil cependant). Il y en a d'autres qui font ça aussi. Découvrez les défragrateurs sur portableapps.com. Il optimise le disque en plaçant les fichiers récemment consultés près de l'avant du lecteur pour un accès plus rapide. Il indique où le fichier de page est placé afin que vous puissiez voir si vous l'avez déplacé dans les 25% supérieurs du lecteur.

Après cela, réinstallez les applications et recopiez vos données.

Je dirais que vous obtenez 10 ou 20% de plus. Mais le principal avantage est que beaucoup d'hésitations disparaissent pour une expérience plus fluide.

2
Nelson Asinowski