IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows 7 Discussion :

Gestion de la RAM


Sujet :

Windows 7

  1. #1
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 146
    Points : 9 386
    Points
    9 386
    Par défaut Gestion de la RAM
    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 ?

  2. #2
    Membre expérimenté Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 340
    Points : 1 576
    Points
    1 576
    Par défaut
    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 Ah nostalgie...

  3. #3
    Membre éprouvé
    Inscrit en
    Juin 2006
    Messages
    795
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 795
    Points : 1 270
    Points
    1 270
    Par défaut
    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.

  4. #4
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 146
    Points : 9 386
    Points
    9 386
    Par défaut
    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.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 41
    Points : 70
    Points
    70
    Par défaut
    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 ?
    Il faut que tu affiches tous les processus.

    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.

  6. #6
    Membre éprouvé
    Inscrit en
    Juin 2006
    Messages
    795
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 795
    Points : 1 270
    Points
    1 270
    Par défaut
    Citation Envoyé par lmontout Voir le message
    Il faut que tu affiches tous les processus.

    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.
    Je suis d'accord qu'une bonne partie des services n'est pas indispensable et que c'est donc du gaspillage de ressources.
    Mais de là à dire que ce sont des sévices...

  7. #7
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 146
    Points : 9 386
    Points
    9 386
    Par défaut
    Citation Envoyé par lmontout Voir le message
    Il faut que tu affiches tous les processus.

    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.
    J'affiche bien tous les processus avant de compter.
    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.

  8. #8
    Membre confirmé Avatar de _Snoopy
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Septembre 2010
    Messages
    313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2010
    Messages : 313
    Points : 467
    Points
    467
    Par défaut
    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

  9. #9
    Membre éprouvé
    Inscrit en
    Juin 2006
    Messages
    795
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 795
    Points : 1 270
    Points
    1 270
    Par défaut
    Citation Envoyé par transgohan Voir le message
    J'affiche bien tous les processus avant de compter.
    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.
    Tu peux aussi choisir les colones à afficher dans le gestionnaire de processus.
    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).

  10. #10
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 146
    Points : 9 386
    Points
    9 386
    Par défaut
    Citation Envoyé par Anikinisan Voir le message
    Tu peux aussi choisir les colones à afficher dans le gestionnaire de processus.
    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).
    Même en faisant la somme de toutes les colonnes (et je dis bien toutes !) je tombe à peine à 3Gio. Donc en prenant le fait que des colonnes expriment la même mémoire on est encore loin du chiffre. ^^
    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.)

  11. #11
    Expert confirmé

    Profil pro
    Leader Technique
    Inscrit en
    Juin 2005
    Messages
    1 756
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Leader Technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 756
    Points : 4 173
    Points
    4 173
    Par défaut
    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 !

  12. #12
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 146
    Points : 9 386
    Points
    9 386
    Par défaut
    Merci pour toutes ces informations !

    Quitte à en apprendre plus, je souhaiterai rebondir sur ceci :
    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 !
    Que faut-il faire dans ce cas présent ? La défragmentation du disque dur a quelque chose à voir ? (au moins l'optimisation de la mémoire swap ?)
    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.

  13. #13
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 473
    Points : 10 129
    Points
    10 129
    Par défaut
    Citation Envoyé par _Snoopy Voir le message
    Tu ne tombe pas sur le compte exact parce que notre ami Windaube se réserve de la mémoire.



  14. #14
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    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)

  15. #15
    Expert confirmé

    Profil pro
    Leader Technique
    Inscrit en
    Juin 2005
    Messages
    1 756
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Leader Technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 756
    Points : 4 173
    Points
    4 173
    Par défaut
    Citation Envoyé par transgohan Voir le message
    Que faut-il faire dans ce cas présent ? La défragmentation du disque dur a quelque chose à voir ? (au moins l'optimisation de la mémoire swap ?)
    Tu as trois possibilités :
    1. Tu commences par ajouter de la mémoire sur la machine . C'est encore ce qu'il y a de plus simple et de plus efficace. Ca améliorera le taux de Page fault.
    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 Envoyé par transgohan Voir le message
    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.
    Je serais assez d'accord avec l'avis du pipeau. Je ne vois pas vraiment comment ça peut fonctionner...

    Citation Envoyé par nicroman
    Etonnemment presonne n'a parlé du prefetch, pourtant bien là.. et qui accélère *vraiment* le lancement des applications...
    Merci pour l'info
    Je savais que ce truc existait, mais je n'avais jamais cherché à comprendre plus loin.

  16. #16
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    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...

Discussions similaires

  1. HashLife et gestion de la RAM
    Par Uncaught_exception dans le forum Caml
    Réponses: 49
    Dernier message: 11/06/2018, 23h47
  2. Gestion de la ram
    Par frp31 dans le forum Administration système
    Réponses: 2
    Dernier message: 01/06/2011, 17h17
  3. Mac OS X 10.6 et la gestion de la RAM
    Par ToTo13 dans le forum Apple
    Réponses: 4
    Dernier message: 07/05/2011, 00h29
  4. Gestion de memoire RAM
    Par SILO dans le forum Windows XP
    Réponses: 2
    Dernier message: 17/04/2008, 22h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo