|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre Expert
![]() Baptiste ROUSSELÉtudiant Inscription : janvier 2011 Messages : 806 ![]() |
Bonjour,
je m'interrogeais sur la gestion de la RAM par Windows 7. Je viens de recevoir un nouvel ordinateur portable sous windows 7 Pro 64bits. J'étais auparavant sous un Familial 32bits. Je passe de 2Gio de RAM à 8Gio. Mais au final j'ai l'impression de me faire avoir quand je vois la ratio. Mon ancien PC consomme 700mio au démarrage en RAM (avant tout lancement d'application de ma part), le nouveau qui ne contient que windows et quelques logiciels sans grande importance consomme 2,47Gio au démarrage !! J'ai des écarts phénoménaux entre les processus des deux PCs. Par exemple le gestionnaire de fenêtre passe de 8mio à 60mio ! Cependant même en faisant la somme de la mémoire consommée par les processus listé je suis loin des 2,47Gio indiqués comme utilisés... Où est donc partie toute cette mémoire ? Windows se garde-t-il un pourcentage de la RAM et ce même s'il ne l'utilise pas ?
__________________
|
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Autodidacte Inscription : mars 2006 Messages : 1 175 ![]() |
Bonjour,
nous sommes tous victimes de l'inflation des M-Octets. Je pense ( d'après ce que j'ai lu), que plus il a de place, plus Windows s'étale. En fait, il me semble que par rapport à Vista (qui était monstrueux), Windows 7 charge + ou - de services en fonction des capacités de la machine. De ce fait, lorsqu'il découvre qu'il est sur une machine version NASA, il se laisse aller ![]() M'enfin, c'est par pour cela que cet ensemble va plus vite. Je me souviens du temps où je démarrais mon Atari 1040 en 1 seconde... et je tapais et imprimais une lettre aussi vite qu'aujourd'hui avec Win7 + µSoft Office
__________________
@ bientôt... Salut & @+ sur 3W!
|
|
|
00
|
|
|
#3 |
|
Membre chevronné
![]() Inscription : juin 2006 Messages : 444 ![]() |
Il me semble que Windows7 (et peut-être Vista aussi) se sert d'énormément de mémoire pour mettre des choses en caches.
Plus tu as de mémoire libre, plus il en utilisera (elle n'est pas vraiment utilisée, mais plutôt réservée je crois). Et cette mémoire est automatiquement libérée par Windows si nécessaire, par exemple si une autre application en a le besoin. |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Baptiste ROUSSELÉtudiant Inscription : janvier 2011 Messages : 806 ![]() |
Bon beh va falloir que je remette mon compteur à jour alors.
Désormais avoir 2Gio au lieu de 700mio occupée en RAM est normal.
__________________
|
|
|
00
|
|
|
#5 | |
|
Futur Membre du Club
![]() Inscription : juillet 2005 Messages : 14 ![]() |
Citation:
par contre c'est beaucoup 2,5Go. j'ai pareil avec un sql server express qui tourne derrière, l'antivirus et plein d'autres sévices surement inutile. |
|
|
|
00
|
|
|
#6 | |
|
Membre chevronné
![]() Inscription : juin 2006 Messages : 444 ![]() |
Citation:
Mais de là à dire que ce sont des sévices... |
|
|
|
00
|
|
|
#7 | |
|
Membre Expert
![]() Baptiste ROUSSELÉtudiant Inscription : janvier 2011 Messages : 806 ![]() |
Citation:
Pour les services je les ai parcouru mais ils sont pour la majorité bien configuré, en auto et non lancé lors de ma vérification.
__________________
|
|
|
|
00
|
|
|
#8 |
|
Membre éprouvé
![]() |
Tu ne tombe pas sur le compte exact parce que notre ami Windaube se réserve de la mémoire.
Mais pas d'inquiétude, si tu en as besoin, tu pourras l'utiliser sans problème, elle sera libérée (enfin normalement )De plus, tu passe d'un familiale (version plus ou moins light) à une version pro (bien plus complète). Il y a plus de fonction disponible dans Windows, qui nécessite donc plus de ressources sur ta machine. Tu as une "petite" liste (pas trop trop détaillée) des différences ICI
__________________
Celui qui sait qu'assez c'est assez, en aura toujours suffisamment. [Lao Tseu] |
|
|
03
|
|
|
#9 | |
|
Membre chevronné
![]() Inscription : juin 2006 Messages : 444 ![]() |
Citation:
Donc plusieurs pour la mémoire. Affiches les toutes et regardes si tu retombes bien sur tes 2,47 Gigowatt. Sinon va faire un tour dans le Resource Monitor (surement "Moniteur de ressource" en version française). |
|
|
|
00
|
|
|
#10 | |
|
Membre Expert
![]() Baptiste ROUSSELÉtudiant Inscription : janvier 2011 Messages : 806 ![]() |
Citation:
Pour le moniteur de ressource j'ai brièvement parcouru mais je vois pas de différence flagrante avec la liste des processus du gestionnaire de tâches. M'enfin bon, on va pas chipoter vu la quantité de RAM et surtout si windows me la libérera si jamais j'en ai besoin. (Sachant qu'à ce jour j'ai testé le lancement de toutes mes applications les plus lourdes que j'aurai à utiliser en même temps sans parvenir à crever le plafond.)
__________________
|
|
|
|
00
|
|
|
#11 |
![]() ![]() Franck SorianoLeader Technique Inscription : juin 2005 Messages : 1 739 ![]() |
La gestion de la mémoire est quelque chose d'assez complexe dans Windows.
Pour commencer, la mémoire physique de la machine appartient exclusivement à Windows. Les applications n'y ont pas directement accès ! La mémoire utilisée par les processus applicatif est intégralement virtualisée : - Chaque processus dispose d'un espace d'adressage virtuel indépendant. Ainsi tous les exe sont chargés à la même adresse mémoire, et un processus n'a techniquement pas la possibilité d'écrire chez son voisin par erreur. - Sur cet espace virtuel, une partie est présente en mémoire physique, à un instant donné (le working set). Le reste est déchargé d'abord en mémoire cache (enfin disons plutôt le cache système), puis sur disque si besoin. Les blocs mémoires peuvent ainsi être déplacés dans la mémoire physique, sans que l'application utilisatrice ne s'en rende compte. Attention, par défaut, le gestionnaire des tâches Windows affiche la taille du working-set dans la colonne "mémoire" des processus. Il ne s'agit pas la chargé dédiée réelle du processus, il n'y a rien d'étonnant à ce qu'en faisant la somme, on ne tombe pas sur la charge dédiée totale de la machine. - Pour courroner le tout, lorsque deux blocs de la mémoire virtuelle sont identiques, Windows est capable de les loger physiquement à la même adresse, jusqu'à ce qu'ils soient modifiés. A la première modification, Windows relogera les pages en question à des adresses physique différentes pour que seul le bon processus voit la modification. De cette façon par exemple, si 10 applications chargent les mêmes DLL en mémoire, la taille du code va s'ajouter dans la mémoire virtuelle de chaque processus : Le code est chargé logiquement 10 fois. Si on fait la somme des mémoires consommées, ont trouve 10 fois la taille de la DLL. En revanche, si le code n'est pas modifié (la DLL a pu être chargée à son adresse de base à chaque fois), les mémoires virtuelles correspondantes seront mappées sur la même adresse physique, de sorte qu'au final, la DLL n'occupera qu'une seule fois son volume... Au final, il est assez inutile d'essayer d'additionner la mémoire utilisée par chaque processus. Ca ne veut rien dire. L'indicateur qui est réellement important c'est le taux d'erreurs de pagination : Le nombre de fois où le processus a voulu accéder à une page mémoire et où la page n'était pas immédiatement utilisable. Lorsque le taux est trop élevé, Windows passe beaucoup de temps à reloger les pages mémoires, probablement à les lire ou les écrire sur disque, et les performances en prennent un coup !
__________________
Mes articles : http://fsoriano.developpez.com/ Le tracing avec Event Tracing for Windows (ETW) |
|
|
10
|
|
|
#12 | |
|
Membre Expert
![]() Baptiste ROUSSELÉtudiant Inscription : janvier 2011 Messages : 806 ![]() |
Merci pour toutes ces informations !
Quitte à en apprendre plus, je souhaiterai rebondir sur ceci : Citation:
J'ai aussi entendu parlé de défragmentation de la mémoire vive, mais en ai lu pas mal de "mal", comme quoi c'était plus du pipeau qu'autre chose.
__________________
|
|
|
|
00
|
|
|
#13 |
|
Membre Expert
![]() Responsable de service informatique Inscription : avril 2011 Messages : 786 ![]() |
|
|
|
00
|
|
|
#14 |
![]() ![]() |
Etonnemment presonne n'a parlé du prefetch, pourtant bien là.. et qui accélère *vraiment* le lancement des applications...
Windows maintient des statistiques sur les applis lancées le plus souvent, en particulier au démarrage... et se fait plaisir (quand il a de la place) à les précharger en "mémoire-cache" avant même que l'utilisateur ne les ai utilisé. A noter que si l'appli n'est vraiment pas utilisée, la mémoire peut être récupérée en largement moins de temps qu'il n'en faut pour charger du disque une autre appli.... Le taux de prefetch était anormalement élevé dans Vista, faisant pousser des petits cris de gorets aux boulets les plus notables (mémoire occupée à 90% quasiment tout le temps), c'est moins visible dans 7 (qui se 'limite' à quelques Gigos) |
|
|
00
|
|
|
#15 | |||
![]() ![]() Franck SorianoLeader Technique Inscription : juin 2005 Messages : 1 739 ![]() |
Citation:
1. Tu commences par ajouter de la mémoire sur la machine 2. Tu branches un dispositif ReadyBoost sur la machine (en un mot, une clé USB compatible). Tu n'amélioreras pas les pages faults, mais l'impact sur les perfs sera moins important. 3. Tu branches un disque SSD fixe dans la machine et tu mets le fichier de swap dessus... Je doute que défragmenter le disque apporte grand chose. Tu gagnes en défragmentant sur les lectures séquentielles parce que tu n'as pas besoin de déplacer la tête de lecture. Cependant le swap est par définition utilisé en accès aléatoire pour charger des blocs de quelques Ko... Dans Vista et Seven, la technologie ReadyBoost a été développée en partant du principe que les mémoires flash ont des temps de lecture/ecriture séquentiels plus important qu'un disque dur, par contre comme il n'y a pas de mécanique à déplacer, les accès aléatoires de petite taille (cas typique d'utilisation du swap) sont plus rapides. Donc tu améliores les perfs en lisant le swap sur une mémoire flash en plus du disque dur normal. Avec le SSD c'est globalement la même chose en plus efficace. Le Swap n'a pas besoin d'être écrit simultanément sur le disque et sur la clé USB puisque tu ne risque pas de débrancher la clé en cours d'utilisation... Cependant je le répète, ajouter de la mémoire vive, ça coûte généralement bien moins cher, et s'est beaucoup plus efficace. Surtout à l'heure du 64 bits. Citation:
Citation:
![]() Je savais que ce truc existait, mais je n'avais jamais cherché à comprendre plus loin.
__________________
Mes articles : http://fsoriano.developpez.com/ Le tracing avec Event Tracing for Windows (ETW) |
|||
|
|
00
|
|
|
#16 |
![]() ![]() |
En fait je me suis gourré...
Le "prefetch" (qui existe depuis Windows XP) consiste à regarder l'activité disque lors du boot, ou du lancement d'une appli... et refaire ces memes etapes en séquence (prefetch) avant-meme que le boot (ou l'application) ne demande le fichier... Je voulais parler du "superfetch" (introduit avec Windows Vista), qui consiste à surveiller nos habitudes de lancement d'application, et à précharger celles-ci... |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com