gestion memoire win 10 - Win 10 - Windows & Software
Marsh Posté le 31-03-2017 à 10:47:38
Un petit up
Pour le cache se sont des données peu ou non utilisées qui n'a rien à voir avec le swap car si je le supprime le cache reste.
ce cache est-il sur le dd ?
Marsh Posté le 31-03-2017 à 14:21:41
Bonjour
Le cache est pour limiter les accès au disque, et n'est donc pas [u]sur[/] le disque. Windows utilise toute la mémoire disponible pour le cache-disque.
Si on passe la souris sur le petit graphique au-dessus, des info-bulles apparaissent.
Plus d'infos:
https://superuser.com/questions/836 [...] ted-memory
Marsh Posté le 31-03-2017 à 15:01:00
merci pour ces infos, je commence mieux à comprendre.
dans le cas ou le fichier pagefile (swap) n'existe pas
la valeur max dans validé correspond à la mémoire max de la machine donc 8Go
le cache se trouve dans la mémoire et si j'ai besoin d'une quantité de mémoire supérieur à la mémoire disponible, il y une erreur voir même plantage de la machine.
par contre dans le cas ou le fichier pagefile pour mon cas 1.9go existe
la valeur max dans validé correspond à la mémoire max + pagefile soit 9.9go
Le cache peut libérer de la mémoire pour augmenter la mémoire libre en déplaçant les données vers le pagefile si nécessaire.
Quand la mémoire se libère le contenu du pagefile revient dans le mémoire.
Ainsi en cas de mémoire insuffisante, il n'y a pas d'erreur mais la machine peut être ralenti le temps du transfert.
En mettant le pagefile sur un SSD, le ralentissement se fera moins sentir que sur un HDD.
C'est bien cela ?
Marsh Posté le 31-03-2017 à 17:18:31
Oui, c'est tout à fait ça, sauf que le cache n'a rien à voir avec le fichier d'échange ou la mémoire virtuelle. Il est géré à part, et utilise uniquement la mémoire physique. Mémoire physique dispo = mémoire dispo pour le cache.
Disons que le noyau (kernel)gère la mémoire virtuelle (y compris le fichier d'échange), et le cache.
Il peut y avoir des transferts vers le fichier d'échange avant que la mémoire manque, ne serait-ce que pour garder un peu de mémoire pour le cache. Windows gère tout cela au mieux en équilibrant selon les besoins.
Marsh Posté le 31-03-2017 à 18:24:52
merci pour ces compléments d'explications.
J'ai remarqué en exécutant un logiciel qui demande beaucoup de mémoire que la mise en cache est grimpé à 3go et que la mémoire disponible n'était que de 1.5go.A la fin de l'exécution la mise en cache est en moyenne à 1 go.
Dans le cas de 3go cela veut-il dire que pour l'exécution du programme il n'y avait plus que 5go au max disponible.
ces 3 Go , ce sont des données qui proviennent du dd qui sont là au cas ou pour exécution du programme ils seraient utiles sans avoir besoin de les transférer de nouveau du dd.
Quand je faisais de la programmation en turbo pascal sous dos dans les années 90, j'utilisais des overlay chargé en ramdisk pour gagner du temps d'exécution, est-ce le même principe ?
A cette époque la mémoire utile ( vive ) était limitée à 640Ko.
Marsh Posté le 31-03-2017 à 19:01:12
fabcoq a écrit : J'ai remarqué en exécutant un logiciel qui demande beaucoup de mémoire que la mise en cache est grimpé à 3go et que la mémoire disponible n'était que de 1.5go.A la fin de l'exécution la mise en cache est en moyenne à 1 go. |
Le cache n'est pas prioritaire pour la mémoire. Si un programme demande de la mémoire alors que tout est alloué, une partie de la mémoire utilisée par le cache sera immédiatement libérée, sans délai. Donc si le cache utilise 3Go, c'est que le programme n'en a pas l'utilité.
fabcoq a écrit : ces 3 Go , ce sont des données qui proviennent du dd qui sont là au cas ou pour exécution du programme ils seraient utiles sans avoir besoin de les transférer de nouveau du dd. |
Exactement.
En gros, le cache fonctionne comme suit: dès qu'un bloc de données est lu depuis le disque, ou écrit vers le disque, il est stocké en mémoire, au cas où il serait à nouveau demandé, et −dans le cas d'une écriture− en attendant qu'il soit effectivement écrit. Il y a aussi des lectures anticipées: lorsqu'un bloc d'un fichier est lu depuis le disque, les suivants (du même fichiers), voire le fichier entier, sont lus également et stockés dans le cache. Les systèmes de prefetch et readyboot utilise également le cache (je crois): le cache est rempli avant la moindre demande.
Ainsi, si on lance un même programme 2 fois de suite, le 2nd démarrage sera beaucoup plus rapide.
C'est en grande partie grâce au cache-disque qu'un ordinateur disposant de plus de RAM est plus rapide.
fabcoq a écrit : Quand je faisais de la programmation en turbo pascal sous dos dans les années 90, j'utilisais des overlay chargé en ramdisk pour gagner du temps d'exécution, est-ce le même principe ? |
Je ne me rappelle plus du tout ce qu'étaient des overlay en TP… En tout cas, le cache ne fonctionne pas comme un ramdisk (pas de secteur, pas de système de fichiers, et pas de fichier)
Marsh Posté le 31-03-2017 à 20:00:17
merci encore, c'est plus clair dans mon esprit.
bon week-end
Marsh Posté le 30-03-2017 à 15:22:55
bonjour,
Je viens vers vous dans l'espoir d'avoir une explication sur la gestion de la mémoire.
Quand j'ouvre le gestionnaire de tache, onglet performance
on a donc sur 8Go
la quantité de mémoire utilisé (compressé) - quantité disponible
ex 2.8Go ( 678Mo) - 5.2Go
validé - mise en cache
ex 4.0/9.2Go - 1.4Go
que représente ces chiffres ? et ou ram autres
réserve paginée - pool non paginé
ex 224Mo - 109Mo
que représente les chiffres ? et ou ram autres