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 10 Discussion :

Gestion de la RAM, une bonne fois pour toute


Sujet :

Windows 10

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur informatique embarquée
    Inscrit en
    Juillet 2019
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur informatique embarquée

    Informations forums :
    Inscription : Juillet 2019
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Gestion de la RAM, une bonne fois pour toute
    Bonjour à tous,

    Je sais que le sujet est complexe et qu'il a déjà abordé quelques fois sur ce forum et ailleurs sur le net, mais je n'ai jamais trouvé une réponse qui me satisfaisait. J'aimerais comprendre une bonne fois pour toute comment Windows gère la RAM. Principalement pour ma culture personnelle mais aussi pour éventuellement résoudre mes différents problèmes (et surtout, comprendre d'où ils viennent vraiment).


    Voilà ma situation actuelle :

    • J'ai 16Go de RAM physique installé sur ma machine. Je les ai testé avec memtest ainsi qu'avec l'outil de diagnostique fourni avec windows, les barettes sont en bonne états, aucun soucis. D'ailleurs, ça m'étonnerait qu'elles aient des soucis, ce sont des Corsair, cette marque est réputée pour sa fiabilité et c'est garanti à vie.
    • J'ai complétement désactivé le Swap. Il y a environ 8 ans, quand j'ai installé ces 16Go de RAM et un SSD, je me disais que c'était bien assez et que je préférais désactiver le swap que d'user mon SSD inutilement. Je n'ai effectivement eu aucun problème au début mais depuis environ 1 année, des problème sont arrivés (voir ci-dessous).
    • Actuellement, quand je regarde dans le gestionnaire des tâches, si je fais le total de tous les processus affichés, j'arrive à environ 2,5Go de mémoire utilisée.
    • Voilà les infos que me donne les gestionnaire des tâches et le moniteur de ressource, affichés côte à côte

      Nom : gestionnaire mémoire.PNG
Affichages : 1630
Taille : 81,2 Ko



    Voilà la liste de mes problèmes/questions :

    • Que veulent dire toutes les différentes infos que je vois si dessus (utilisée, disponible, validée, mise en cache, réservée paginée, Pool non paginé, matériel réservé, modifiée, veille, libre, etc...) ?
    • Pourquoi la quantité de mémoire utilisée est-elle 3 fois plus importante que la quantité totale utilisée par les processus tournants actuellement ? Je sais que Windows utilise des espaces de mémoire virtuels indépendant pour chaque processus. Je sais aussi qu'il est possible que plusieurs processus utilisent de l'espace mémoire en commun (par exemple s'ils demandent à charger une dll déjà en RAM, Windows va simplement mappé leur espace de mémoire virtuel vers l'espace où la DLL en question est déjà chargée). Et, de plus, ayant désactivé le swap, logiquement, toute la mémoire utilisée par ces processus devrait être quelque part dans la mémoire physique non ? Bref, tout ça, je le sais mais... ça n'explique en rien pourquoi Windows utilise 3 FOIS PLUS de RAM physique que la quantité de mémoire utilisées par les processus. A ma connaissance, la mémoire swap est simplement une extension virtuelle de la mémoire physique. Dans le cas où les processus auraient besoin de plus de mémoire que disponible physiquement (ou si des processus ne sont plus actifs depuis un moment), Windows alloue une partie du disque qui sera utilisé comme de la RAM et y mets les "vieux" processus qui ne sont pas utilisé directement. Cette mémoire de swap ne devrait donc pas utiliser PLUS de ram que les processus en demandent non ? (Puisque ce swap sert pour les processus)
    • J'ai aussi essayé de désactivé de superfectch. C'est un service qui permet de précharger en mémoire les processus souvent utilisés. J'ai redémarré, mais je n'ai vu aucune différence dans l'utilisation de la RAM.
    • Le problème que je rencontre de plus en plus fréquemment est le suivant : Je joue pas mal à différents jeux et il m'arrive parfois de streamer en même temps sur twitch (envoyer en live l'image de son écran, ainsi que le son sur le net). Avec ces jeux, le streaming, plusieurs onglets chrome ouvert, une ou deux vidéo Youtube pour la musique, des logiciels de communications actifs, et parfois du travail de compta en arrière-plan qui ne s'est pas fermé (excel ou autre), l'utilisation de la RAM augmente pas mal. Forcément me direz-vous, oui, forcément mais à ce moment là, si je fais à nouveau le total des processus utilisé, j'arrive à environ 4Go, 5Go grand max. Mais l'utilisation de la RAM (affichée dans le gestionnaire des tâches) monte jusqu'à 12GO, et quand elle dépasse 12,5GO utilisé environ, les programme commencent à crasher, faute de mémoire disponible (gros crash, mémoire insuffisante, etc, etc...)... Pourquoi ??! 12,5Go, ce n'est pas 16Go ? Pourquoi Windows "garde-t-il en réserve" ces 3,5Go de marge ? Et avec quoi remplis-t-il les 8Go de différence entre les processus et la mémoire réellement utilisée ??
    • Autre question : Y a-t-il plus de processus actifs que ceux affiché dans le gestionnaire des tâches ou le moniteur de ressource (je pense par exemple aux services de Windows) et si oui, y a-t-il un moyen de connaître la quantité de RAM utilisé par ces processus "cachés" ?



    Voilà voilà, si quelqu'un qui s'y connait bien dans le noyau de Windows pouvait me répondre, ça m'avancerait grandement. Bien sûr, je pourrais réactiver le swap, et potentiellement que ça résoudrait mes problèmes mais, la question n'est pas là : j'aimerai comprendre, voyez-vous ? ^^
    Ha, j'ai oublié de préciser que je suis ingénieur en informatique embarquée, donc normalement, j'ai des notions de base de gestion d'espace mémoire (adresse virtuelles, réelles, pages mémoires et tout le tsoin tsoin), donc n'hésitez pas à aller dans les détails si nécessaire, si tout va bien, je devrais pouvoir vous suivre

    Merci d'avance !

  2. #2
    Membre éprouvé Avatar de txuku
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    980
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 980
    Points : 1 276
    Points
    1 276
    Par défaut
    Bonjour

    Je ne me pose plus ce genre de question depuis lontemps tant que tout fonctionne !

    J ai remis swap et superfectch

    J ai 32 Go de ram et SSD qui sont reputes fiables maintenant !
    Voir peut etre du cte es programmeurs qui ne liberent plus la memoire dans leurs programmes ???

  3. #3
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 446
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 446
    Points : 43 088
    Points
    43 088
    Par défaut
    Matériel/réservé=mémoire réservé au bios et pilotes (bas niveau je pense)
    utilisée=mémoire de Windows, des logiciels, des pilotes
    modifiée=mémoire qui doit être synchronisée sur disque avant de pouvoir être utilisée à autre chose (swap disque, fichiers mappés en mémoire et devant être synchronisé sur disque)
    veille=code et données mise en cache
    libre=mémoire vierge

    Quand tu charges un exe et que tu le quittes, celui-ci va rester en mémoire en cache (idem pour les dll). Tu pourras constater qu'un second chargement sera beaucoup plus rapide. Quand l’espace mémoire dispo baisse, le cache est libéré, et ensuite c'est le swap qui sera utilisé. Tu peux te retrouver dans une situation ou l'os a besoin de swap au moins temporairement le temps que la RAM attribuée au cache ou que la catégorie mémoire modifiée soit mise à jour.

    La mémoire non paginée correspond à la mémoire étant exclus du système de gestion de mémoire virtuelle pour des nécessités d’accès direct( exemple DMA). La mémoire paginée correspond à la mémoire incluse dans le système de gestion de la mémoire virrtuelle. La page étant l’unité utilisée par la MMU.

    Autre question : Y a-t-il plus de processus actifs que ceux affiché dans le gestionnaire des tâches ou le moniteur de ressource (je pense par exemple aux services de Windows) et si oui, y a-t-il un moyen de connaître la quantité de RAM utilisé par ces processus "cachés" ?
    ils sont inclus dans la partie mémoire utilisée.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  4. #4
    Expert éminent sénior
    Avatar de JML19
    Homme Profil pro
    Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Inscrit en
    Décembre 2010
    Messages
    14 939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2010
    Messages : 14 939
    Points : 23 251
    Points
    23 251
    Billets dans le blog
    10
    Par défaut
    Bonjour

    Le plan mémoire de Windows en version 32 bits et encore plus en version 64 bits c'est l'Arlésienne.

    A l'origine le plan mémoire du modèle X86 était connu parfaitement, maintenant c'est impossible à savoir, non documenté par Microsoft.
    Vous pouvez utiliser les FAQ (ICI) ou les Tutoriels (ICI) et aussi accéder au blog (ICI)

Discussions similaires

  1. Réponses: 4
    Dernier message: 03/09/2008, 15h15
  2. Pagination: une bonne fois pour toutes
    Par hush dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 17/01/2008, 09h27
  3. Régler une bonne fois pour toute l'interclassement.
    Par berceker united dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 11/09/2006, 10h19

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