Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Gestion mémoire virtuelle XP

12 réponses
Avatar
Sabrem JORAM
[Assez long... car je souhaite être précis, à défaut d'être clair et
concis]

Bonjour,

Soit un système multiboot (2 XP HOME SP2, licences légales, à jour de
tous les correctifs, sur 2 partitions différentes d'un même disque ;
lesdites partitions formatées en NTFS par défaut) reproduit sur deux PC
de quasi-mêmes configurations matérielle et logicielle.

Soit Propriétés système-Informations de débogage : tout décoché.

Sur les deux partitions système citées, sur mes deux PC (soient 4
partitions testées au total), je ne peux pas descendre la taille du
pagefile.sys en dessous de 16 Mo (Max-Min); si j'indique une valeur
inférieure (qui est bien prise en compte par le panneau ad hoc de
paramétrage), je me retrouve au reboot avec un fichier d'échange de la
valeur par défaut, soit 1,5 fois la RAM. Plus fort, sur la seconde
partition système, si je descends sous 16 Mo (15 Mo par exemple dans
mes tests), je retrouve le fichier pagefile.sys sur la première
partition système avec la taille par défaut (1,5 x RAM) ... et rien à
la racine de ladite partition système active.

Cette taille (16 Mo) est indiquée par moi pour la partition système
exclusivement ("swap" non déplacé) ; une taille de 2 Mo sur la
partition système et 14 Mo sur une autre partition aboutit au même
résultat (1,5 x RAM)...

Précisions : la seconde partition système a bien été initialement
installée "normalement" par boot sur le CD d'installation et non par
clonage ou autre manipulation... Elle est non polluée (non "tweakée"),
consistant en une installation minimaliste quasiment réglée par défaut
que je restitue régulièrement à des fins de test à partir d'une image
disque. Je dispose sur les deux PC testés de plus de RAM qu'il n'en
faut pour que XP n'agrandisse pas automatiquement ledit fichier... La
première partition système de chaque PC est installée sur C (donc par
défaut).

J'ai également tenté de modifier directement dans le registre la clef
concernée sans que Monsieur XP veuille m'obéir : la clef est bien
modifiée, la modification est répercutée sur le panneau de paramétrage
correspondant, mais j'obtiens toujours après redémarrage un fichier de
pagination de 1,5 fois la RAM...

Ce comportement est le même sur les quatre partitions système (deux par
machine personnelle) ainsi que sur le PC d'un correspondant. Je suis un
particulier et ne dispose pas d'autre moyen pour vérifier. Mes
recherches sur la toile m'ont seulement appris qu'effectivement,
quelquefois, ce paramétrage n'est pas pris en compte par XP, mais sans
trouver de détails sur le pourquoi de la chose (Bogue ? Taille limite
provoquant ce refus de prise en compte ? Mode de calcul de cette
éventuelle taille limite ? Etc.)

Pas de piste dans les journaux de l'observateur d'évènements. Aucun
message d'erreur de la part du système. Le reste du fonctionnement du
panneau de configuration de la mémoire virtuelle semble correct.

Ne pas m'indiquer, SVP, de mettre une taille supérieure telle 128 Mo ou
256 Mo car ce n'est pas la question... et je fais ce que je veux de mes
PC :-) ; il s'agit ici pour moi de tests et d'appréhender le
fonctionnement de mon OS.

J'ai exposé tout ceci sur le forum général XP de Microsoft sans que le
sujet déclenche les passions (passant sans doute pour un doux illuminé
:-) ) ni même apprendre si cet apparent "bogue" se reproduit sur le
PC d'autres utilisateurs (sauf un)...

La question est :

Pourquoi ne puis-je pas descendre en dessous de 16 Mo ?

Toutes pistes (même apparemment farfelues), explications techniques,
acceptées et même souhaitées : je veux comprendre.

Merci de m'avoir fait l'honneur de me lire jusqu'ici.

Cordialement, Pascal.



--
Pour me répondre en privé, enlevez DoubidoU de mon adresse...

10 réponses

1 2
Avatar
jeuf
"Sabrem JORAM" a écrit...
[Assez long... car je souhaite être précis, à défaut d'être clair et
concis]



Ok, je coupe un peu...

Sur les deux partitions système citées, sur mes deux PC (soient 4
partitions testées au total), je ne peux pas descendre la taille du
pagefile.sys en dessous de 16 Mo (Max-Min); si j'indique une valeur
inférieure (qui est bien prise en compte par le panneau ad hoc de
paramétrage), je me retrouve au reboot avec un fichier d'échange de la
valeur par défaut, soit 1,5 fois la RAM.



Ce n'est pas un bug.
Il se trouve que les applications ayant besoin de mémoire vive
utilisent TOUJOURS l'accès à la mémoire virtuelle,
les besoins étant transmis ENSUITE à la RAM selon sa disponibilité.
Je ne pense pas que les 16 Mo soient une barrière minimum
"par défaut".
Je pense plutôt que, selon tes PC, les applis lancées au démarrage
demandent simultanément plus ou moins de mémoire vive
(transitant par la mémoire virtuelle comme nous l'avons vu).
Si la mémoire vive est insuffisante à un moment donné,
(donc si la mémoire virtuelle est insuffisante)
XP se remet en mode "automatique" de gestion de RAM,
donc avec un swap initial de RAM + 50%.
Pour approfondir ces explications, voici quelques liens :
"RAM, Virtual Memory, Pagefile and all that stuff" :
http://www.support.microsoft.com/default.aspx?scid=kb;en-us;555223&SD=tech
en anglais, mais traduction automatique en français possible
sur la page (article translations : sélectionner "french" puis bouton GO)
Plus approfondi :
"Bruce Sanderson's General Windows Information
RAM, Virtual Memory, PageFile and all that stuff"
http://members.shaw.ca/bsanders/WindowsGeneralWeb/RAMVirtualMemoryPageFileEtc.htm
en anglais seulement.

P.S. T'as pas honte de te balader sur le forum XP de Microsoft ?
ils y connaissent rien ;-)
Avatar
Sabrem JORAM
Bonjour,

jeuf a écrit :
"Sabrem JORAM" a écrit...
[Assez long... car je souhaite être précis, à défaut d'être clair
et concis]





Ok, je coupe un peu...



Sur les deux partitions système citées, sur mes deux PC (soient 4
partitions testées au total), je ne peux pas descendre la taille du
pagefile.sys en dessous de 16 Mo (Max-Min); si j'indique une valeur
inférieure (qui est bien prise en compte par le panneau ad hoc de
paramétrage), je me retrouve au reboot avec un fichier d'échange de
la valeur par défaut, soit 1,5 fois la RAM.





Ce n'est pas un bug.
Il se trouve que les applications ayant besoin de mémoire vive



Je suis "largué" dès le départ... (neurone âgé) :-) car quelles sont
les applications qui pourraient ne pas avoir besoin de mémoire vive (il
s'agit bien ici de la RAM physique que XP et autres applications
squattent dès que possible) ?

utilisent TOUJOURS l'accès à la mémoire virtuelle,



Donc ici pour toi et c'est uniquement une question de définition : MV =
X - RAM = fichier d'échange (dit de pagination, pagefile.sys, "swap")

les besoins étant transmis ENSUITE à la RAM selon sa disponibilité.



OK

Je ne pense pas que les 16 Mo soient une barrière minimum
"par défaut".



Moi non plus.

Je pense plutôt que, selon tes PC, les applis lancées au démarrage
demandent simultanément plus ou moins de mémoire vive



Logique.

(transitant par la mémoire virtuelle comme nous l'avons vu).



Si les ressources mémoire/système exigées au démarrage s'avèrent
importantes et exigent l'utilisation du fichier d'échange (transitent
par celui-ci ; pagefile.sys), pourquoi est-il possible de désactiver
(ce qui entraine l'effacement de ce fichier) totalement ledit fichier ?
Il y a là encore quelque chose qui m'échappe.... A moins qu'en
l'absence de pagefile.sys, XP décide de ne pas charger certaines
ressources ... mais je n'ai rien remarqué qui puisse étayer cette
supposition...

Il est tout à fait extraordinaire pour moi de constater qu'un système
sans pagefile.sys fonctionne comme une horloge sans message
d'avertissement ni d'erreur ; or, je sais qu'il ne faut pas (pour le
lire et les avis sont unanimes) supprimer le fichier de pagination
(sauf pour le remplacer lorsqu'il est corrompu ou effectuer une
sauvegarde de partition système la moindre possible en taille)...

Si la mémoire vive est insuffisante à un moment donné,
(donc si la mémoire virtuelle est insuffisante)



Ha non... tu changes ici la définition de la MV qui n'est plus la même
que plus haut. Tu parles ici du fichier d'échange qui serait
insuffisant. La mémoire virtuelle étant pour moi égale à la somme de la
RAM et du fichier d'échange (c'est donc la mémoire "disponible"
autrement appelée par d'aucuns) et cette définition est conforme au
MSDN (je t'accorde que c'est ambigu selon les textes de Microsoft).

XP se remet en mode "automatique" de gestion de RAM,
donc avec un swap initial de RAM + 50%.



Ouaip :-) ben là... l'objection majeure que je fais (cf. supra),
c'est que si XP exige un minimum de pagefile.sys pour charger, pourquoi
est-il possible de n'avoir pas du tout de fichier. En outre, quelque
soit la taille des ressources exigées, sur aucun de mes PC, elle ne
peut excéder celle de la RAM (à aucun moment) ; donc j'admets cette
base de travail selon laquelle XP a toujours besoin d'un fichier de
pagination... mais quid si ce fichier n'existe pas ? Quand il n'existe
pas, il n'est pas créé et, chez moi, lorsqu'il est supposé pesé 15 Mo,
il est créé/agrandi/fixé à la taille prévue par défaut.

Je nage... je coule... je me noie ! :-)

Pour approfondir ces explications, voici quelques liens :
"RAM, Virtual Memory, Pagefile and all that stuff" :
http://www.support.microsoft.com/default.aspx?scid=kb;en-us;555223&SD=tech
en anglais, mais traduction automatique en français possible
sur la page (article translations : sélectionner "french" puis bouton
GO)
Plus approfondi :
"Bruce Sanderson's General Windows Information
RAM, Virtual Memory, PageFile and all that stuff"
http://members.shaw.ca/bsanders/WindowsGeneralWeb/RAMVirtualMemoryPageFileEtc.htm
en anglais seulement.



Déjà lues avec beaucoup d'autres pages ; peut-être mal lues car je n'y
trouve pas ma réponse... Tu ne me connais pas mais je ne suis pas du
genre à poser une question sur un forum sans avoir épuisé toutes les
autres possibilités (Touche magique F1 et moteurs de recherche...)

P.S. T'as pas honte de te balader sur le forum XP de Microsoft ?



Non... et tu devrais venir y faire un tour... y a une bonne ambiance...

ils y connaissent rien ;-)



Ha ! On trouve toujours son maitre quelque part... et il me semble y
observer un bon pourcentage de dépannages réussis... Enfin bref... j'ai
mes petites habitudes... :-) comme tous les vieux c***

Merci à toi.

Très cordialement, Pascal.


--
Pour me répondre en privé, enlevez DoubidoU de mon adresse...
Avatar
jeuf
"Sabrem JORAM" a écrit...

jeuf a écrit :



J'avais un peu simplifié ; effectivement, je n'ai pas toujours employé les
bons termes.

Je suis "largué" dès le départ... (neurone âgé) :-) car quelles sont les
applications qui pourraient ne pas avoir besoin de mémoire vive



En fait, il faut parler de process : ainsi, pas d'ambiguité.

Donc ici pour toi et c'est uniquement une question de définition : MV =
X - RAM = fichier d'échange (dit de pagination, pagefile.sys, "swap")



En fait, pagefile.sys réelle = RAM utilisée + process en attente (dites
"pages out")
(La taille de pagefile.sys sur le Disque Dur n'est en fait qu'un espace
réservé)

Si les ressources mémoire/système exigées au démarrage s'avèrent
importantes et exigent l'utilisation du fichier d'échange (transitent par
celui-ci ; pagefile.sys), pourquoi est-il possible de désactiver (ce qui
entraine l'effacement de ce fichier) totalement ledit fichier ? Il y a là
encore quelque chose qui m'échappe.... A moins qu'en l'absence de
pagefile.sys, XP décide de ne pas charger certaines ressources ... mais je
n'ai rien remarqué qui puisse étayer cette supposition...



Non, c'est plus "simple" que ça :
Le process est chargé dans pagefile.sys, qui vérifie (entre autres choses)
que l'adresse éventuellement indiquée est libre dans la RAM.
Si c'est le cas, le process est aussitôt envoyé dans la RAM.
Si ce n'est pas le cas :
- Si l'adresse est réservée dans la RAM : une autre adresse est attribuée au
process, puis le process est envoyé dans la RAM
- Si la RAM est pleine : les process inutilisés dans la RAM sont sortis de
la RAM mais restent dans pagefile.sys (pages out) pour une utilisation
ultérieure.
Le process peut maintenant être envoyé dans la RAM.

Lorsqu'on interdit la présence du fichier d'échange, tout se passe en DMA
(Direct Access Memory).
C'est plus rapide, mais il y a quelques inconvénients :
- Les process sont très souvent écrits pour utiliser pagefile.sys, car ils
sont plus faciles à écrire (pas besoin de routine de vérif d'adresses
libres), et peuvent donc parfois entrer en conflit avec des adresses
verrouillées dans la RAM par un autre process (car pagefile.sys n'est plus
là pour faire la transisition).
- Si la RAM est pleine, on risque d'avoir un "out of memory" si elle n'a pas
eu le temps de se vider auparavant.

Il est tout à fait extraordinaire pour moi de constater qu'un système sans
pagefile.sys fonctionne comme une horloge



Un système sans pagefile fonctionne plus vite,
mais ce système est moins bien protégé.
Cela dit, sous XP, les plantages ne sont pas très fréquents :
les process ayant besoin de verrouiller une adresse mémoire sont peu
fréquents,
(à part ceux du système dont l'adresse est connue, donc thériquement jamais
utilisée ailleurs).

or, je sais qu'il ne faut pas (pour le lire et les avis sont unanimes)
supprimer le fichier de pagination (sauf pour le remplacer lorsqu'il est
corrompu ou effectuer une sauvegarde de partition système la moindre
possible en taille)...



La raison en est un meilleur fonctionnement, grâce au travail de
vérification/transition de pagefile.sys.

Si la mémoire vive est insuffisante à un moment donné,
(donc si la mémoire virtuelle est insuffisante)



Ha non... tu changes ici la définition de la MV qui n'est plus la même que
plus haut. Tu parles ici du fichier d'échange qui serait insuffisant.



Exact. Je vois que tu as bien suivi ;-)

XP se remet en mode "automatique" de gestion de RAM,
donc avec un swap initial de RAM + 50%.



Ouaip :-) ben là... l'objection majeure que je fais (cf. supra), c'est
que si XP exige un minimum de pagefile.sys pour charger, pourquoi est-il
possible de n'avoir pas du tout de fichier.



C'est une simple configuration :
l'espace est resérvé sur le DD, mais ça ne veut pas dire qu'il sera utilisé.
En fait :
1 - Le fichier est créé sur le Disque Dur
2 - Lorsqu'un process a besoin d'être chargé dans la RAM, pagefile.sys est
ouvert, le process est copié dans pagefile, les routines de vérification
sont lancées, et enfin le process est chargé dans la RAM (à son adresse
intiale si aucun conflit n'a été détécté, sinon à une autre adresse).
D'ailleurs, avec 1 GB de RAM ou plus, pagefile.sys n'est quasiment jamais
ouvert,
bien que l'espace soit réservé sur le DD.
C'est pourquoi un pagefile.sys bloqué à 1 GB est conseillé lorsque la RAM
atteint ou dépasse 1 GB.

En outre, quelque
soit la taille des ressources exigées, sur aucun de mes PC, elle ne peut
excéder celle de la RAM (à aucun moment) ; donc j'admets cette base de
travail selon laquelle XP a toujours besoin d'un fichier de pagination...
mais quid si ce fichier n'existe pas ? Quand il n'existe pas, il n'est pas
créé et, chez moi, lorsqu'il est supposé pesé 15 Mo, il est
créé/agrandi/fixé à la taille prévue par défaut.

Je nage... je coule... je me noie ! :-)



Mets tes brassières !
Si tu le bloques à 15 Mo, tu configures implicitement windows pour utiliser
un fichier d'échange.
Mais si un process demande plus de 15 Mo
(ou plusieurs process simultanés, pour un total supérieur à 15 Mo) :
- Le pagefile est ouvert pour charger le (ou les) process
- Les routines de vérif montrent que l'espace dans pagefile n'est pas
suffisant
- Windows corrige donc la taille (=remet à la taille standard)
- La suite des vérifs est effectuée (adresse libre dans la RAM, etc.)
- Le process est chargé en RAM
- Pagefile est refermé.
Au finish : Windows a modifié la taille réservée pour pagefile.sys,
il a ouvert pagefile, utilisé la place nécessaire au chargement des process,
et refermé pagefile. En réalité, il n'a pas pour autant utilisé TOUT
l'espace réservé à pagefile.sys.

Si tu configures Windows pour ne pas utiliser de fichier d'échange,
les process sont chargés directement dans la RAM. C'est tout.

Voilà.
Y a-t-il encore des zones d'ombre ?

J'éspère que tu dormiras mieux la nuit, maintenant :-

Merci à toi.



Patkoi, Pascal, c'est un plaisir.

--
JFV - Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nulla elit.
Vestibulum hendrerit. Morbi a odio in lectus ornare feugiat. Etiam quis mi.
Cras wisi eros, ornare in, mattis et, ullamcorper vitae, arcu. Duis eu nisl
eget urna tempus hendrerit. Nam tincidunt aliquam dui. Nulla porttitor...
Avatar
Sabrem JORAM
Bonjour,

J'ai laissé s'écouler un peu de temps afin que mon dernier neurone
assimile et me confirme que j'ai enfin compris. Car ce que tu écris est
parfaitement convaincant, bien expliqué... et je t'en remercie... Je
vais revenir sur ce forum où j'espère que tu continueras à sévir car
j'ai beaucoup de futures questions à poser (en particulier sur la
validité de certains "tweaks" alias les "légendes urbaines") et
j'aimerais recueillir ton avis.

Je pose encore quelques questions dans le corps du message ci-après :

jeuf a écrit :

[...]

Si les ressources mémoire/système exigées au démarrage s'avèrent
importantes et exigent l'utilisation du fichier d'échange
(transitent par celui-ci ; pagefile.sys), pourquoi est-il possible
de désactiver (ce qui entraine l'effacement de ce fichier)
totalement ledit fichier ? Il y a là encore quelque chose qui
m'échappe.... A moins qu'en l'absence de pagefile.sys, XP décide de
ne pas charger certaines ressources ... mais je n'ai rien remarqué
qui puisse étayer cette supposition...





Non, c'est plus "simple" que ça :
Le process est chargé dans pagefile.sys, qui vérifie (entre autres
choses) que l'adresse éventuellement indiquée est libre dans la RAM.
Si c'est le cas, le process est aussitôt envoyé dans la RAM.
Si ce n'est pas le cas :
- Si l'adresse est réservée dans la RAM : une autre adresse est
attribuée au process, puis le process est envoyé dans la RAM
- Si la RAM est pleine : les process inutilisés dans la RAM sont
sortis de la RAM mais restent dans pagefile.sys (pages out) pour une
utilisation ultérieure.
Le process peut maintenant être envoyé dans la RAM.



Lorsqu'on interdit la présence du fichier d'échange, tout se passe en
DMA (Direct Access Memory).



http://cnx.rice.edu/content/m11867/latest/

http://www.pcguide.com/ref/hdd/if/ide/modesDMA-c.html

(pas de la "tarte" à digérer... d'ailleurs la digestion est encore en
cours... :-) )

C'est plus rapide, mais il y a quelques inconvénients :
- Les process sont très souvent écrits pour utiliser pagefile.sys,
car ils sont plus faciles à écrire (pas besoin de routine de vérif
d'adresses libres), et peuvent donc parfois entrer en conflit avec
des adresses verrouillées dans la RAM par un autre process (car
pagefile.sys n'est plus là pour faire la transisition).



OK. Et donc sur une installation fraiche, ces process qui ont besoin du
pagefile.sys et pèsent au total chez moi plus de 15 Mo sont les pilotes
requis par ma configuration matérielle ; ce qui explique que sur mes
deux PC (qui possèdent presque les mêmes pilotes), cette limite soit la
même. Je peux aussi en déduire que cette limite de taille n'est pas la
même selon les configurations matérielles... Correct ?

Y aurait-il un autre moyen autre qu'empirique (celui que j'ai pratiqué,
par essais successifs pour arriver à 16 Mo), pour connaitre le poids de
ces process ? (je sais... là j'abuse)

- Si la RAM est pleine, on risque d'avoir un "out of memory" si elle
n'a pas eu le temps de se vider auparavant.



Il est tout à fait extraordinaire pour moi de constater qu'un
système sans pagefile.sys fonctionne comme une horloge





Un système sans pagefile fonctionne plus vite,
mais ce système est moins bien protégé.
Cela dit, sous XP, les plantages ne sont pas très fréquents :
les process ayant besoin de verrouiller une adresse mémoire sont peu
fréquents,



Je pourrais donc considérer que les process directement liés au
lancement du système (ici XP et pilotes) sont toujours en mesure de ne
pas transiter par le pagefile.sys...

(à part ceux du système dont l'adresse est connue, donc thériquement
jamais utilisée ailleurs).



OK.

or, je sais qu'il ne faut pas (pour le lire et les avis sont
unanimes) supprimer le fichier de pagination (sauf pour le
remplacer lorsqu'il est corrompu ou effectuer une sauvegarde de
partition système la moindre possible en taille)...





La raison en est un meilleur fonctionnement, grâce au travail de
vérification/transition de pagefile.sys.



Si la mémoire vive est insuffisante à un moment donné,
(donc si la mémoire virtuelle est insuffisante)



Ha non... tu changes ici la définition de la MV qui n'est plus la
même que plus haut. Tu parles ici du fichier d'échange qui serait
insuffisant.





Exact. Je vois que tu as bien suivi ;-)



XP se remet en mode "automatique" de gestion de RAM,
donc avec un swap initial de RAM + 50%.



Ouaip :-) ben là... l'objection majeure que je fais (cf. supra),
c'est que si XP exige un minimum de pagefile.sys pour charger,
pourquoi est-il possible de n'avoir pas du tout de fichier.





C'est une simple configuration :
l'espace est resérvé sur le DD, mais ça ne veut pas dire qu'il sera
utilisé.
En fait :
1 - Le fichier est créé sur le Disque Dur
2 - Lorsqu'un process a besoin d'être chargé dans la RAM,
pagefile.sys est ouvert, le process est copié dans pagefile, les
routines de vérification sont lancées, et enfin le process est chargé
dans la RAM (à son adresse intiale si aucun conflit n'a été détécté,
sinon à une autre adresse).
D'ailleurs, avec 1 GB de RAM ou plus, pagefile.sys n'est quasiment
jamais ouvert,
bien que l'espace soit réservé sur le DD.



Clair.

C'est pourquoi un pagefile.sys bloqué à 1 GB est conseillé lorsque la
RAM atteint ou dépasse 1 GB.



Sur ce dernier point, je m'interroge... Avec la RAM nécessaire et
suffisante pour charger les applications habituelles et prévues, hors
options de débogage, dans l'absolu, compte tenu de ce que nous venons
de voir, dans mon cas précis, seuls 16 Mo de pagefile.sys seraient
suffisants. La taille que tu indiques ne me semble valable que si l'on
souhaite recueillir les informations de débogage en cas de plantage...
Correct ?

En outre, quelque
soit la taille des ressources exigées, sur aucun de mes PC, elle ne
peut excéder celle de la RAM (à aucun moment) ; donc j'admets cette
base de travail selon laquelle XP a toujours besoin d'un fichier de
pagination... mais quid si ce fichier n'existe pas ? Quand il
n'existe pas, il n'est pas créé et, chez moi, lorsqu'il est supposé
pesé 15 Mo, il est créé/agrandi/fixé à la taille prévue par défaut.

Je nage... je coule... je me noie ! :-)





Mets tes brassières !
Si tu le bloques à 15 Mo, tu configures implicitement windows pour
utiliser un fichier d'échange.
Mais si un process demande plus de 15 Mo
(ou plusieurs process simultanés, pour un total supérieur à 15 Mo) :
- Le pagefile est ouvert pour charger le (ou les) process
- Les routines de vérif montrent que l'espace dans pagefile n'est pas
suffisant
- Windows corrige donc la taille (=remet à la taille standard)
- La suite des vérifs est effectuée (adresse libre dans la RAM, etc.)
- Le process est chargé en RAM
- Pagefile est refermé.
Au finish : Windows a modifié la taille réservée pour pagefile.sys,
il a ouvert pagefile, utilisé la place nécessaire au chargement des
process,
et refermé pagefile. En réalité, il n'a pas pour autant utilisé TOUT
l'espace réservé à pagefile.sys.



Si tu configures Windows pour ne pas utiliser de fichier d'échange,
les process sont chargés directement dans la RAM. C'est tout.



Voilà.
Y a-t-il encore des zones d'ombre ?



Immédiatement... c'est très clair... mais confirme STP mes
interrogations dans le coeur de la conversation... Faut quand même que
je finisse de digérer les mécanismes de la DMA (et en anglais dont je
ne possède que de mauvaises connaissances scolaires)

J'éspère que tu dormiras mieux la nuit, maintenant :-



Pas question... un homme qui dort est un homme mort :-)

[...]

Très vifs remerciements pour la qualité de ton intervention.

Amicalement,Pascal.

--
Pour me répondre en privé, enlevez DoubidoU de mon adresse...
Avatar
Pascal Hambourg
Salut,

Sabrem JORAM a écrit :

Lorsqu'on interdit la présence du fichier d'échange, tout se passe en
DMA (Direct Access Memory).



http://cnx.rice.edu/content/m11867/latest/
http://www.pcguide.com/ref/hdd/if/ide/modesDMA-c.html


[...]
Faut quand même que
je finisse de digérer les mécanismes de la DMA (et en anglais dont je ne
possède que de mauvaises connaissances scolaires)



Pas la peine de perdre ton temps sur le DMA, ça n'a strictement rien à
voir avec la gestion de la mémoire virtuelle. Jeuf s'est manifestement
emmêlé les pinceaux là-dessus !
Avatar
jeuf
Pascal Hambourg a présenté l'énoncé suivant :

Pas la peine de perdre ton temps sur le DMA, ça n'a strictement rien à
voir avec la gestion de la mémoire virtuelle. Jeuf s'est manifestement
emmêlé les pinceaux là-dessus !



Oui, je m'en suis rendu compte lorsque Pascal a indiqué les liens.
C'est en fait RMA, Real Memory Access :
Le travail d'adressage effectué normalement par le Virtual Memory
Manager à l'aide de Pagefile.sys se fait directement dans une zone
protégée de la RAM.

--
JFV - Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nulla
elit.
Vestibulum hendrerit. Morbi a odio in lectus ornare feugiat. Etiam
quis mi.
Cras wisi eros, ornare in, mattis et, ullamcorper vitae, arcu. Duis
eu nisl
eget urna tempus hendrerit. Nam tincidunt aliquam dui. Nulla
porttitor...
Avatar
jeuf
Sabrem JORAM a utilisé son clavier pour écrire :
Bonjour,

J'ai laissé s'écouler un peu de temps afin que mon dernier neurone
assimile et me confirme que j'ai enfin compris.



Woaw ! C'est un bon neurone, garde-le encore un peu.

Car ce que tu écris est
parfaitement convaincant, bien expliqué... et je t'en remercie... Je
vais revenir sur ce forum où j'espère que tu continueras à sévir car
j'ai beaucoup de futures questions à poser (en particulier sur la
validité de certains "tweaks" alias les "légendes urbaines") et
j'aimerais recueillir ton avis.



T'inquiète, on est nombreux ici à s'intéresser à tous les aspects de
l'informatique.

Je pose encore quelques questions dans le corps du message ci-après :



Allons-y

Lorsqu'on interdit la présence du fichier d'échange, tout se passe en
DMA (Direct Access Memory).



http://cnx.rice.edu/content/m11867/latest/
http://www.pcguide.com/ref/hdd/if/ide/modesDMA-c.html

(pas de la "tarte" à digérer... d'ailleurs la digestion est encore en
cours... :-) )



Recrache, car comme l'a fait remarquer Pascal Hambourg,
ce n'est pas du DMA (le DMA est réservé au hardware, et évite
l'utilisation du CPU)

OK. Et donc sur une installation fraiche, ces process qui ont besoin du
pagefile.sys et pèsent au total chez moi plus de 15 Mo sont les pilotes
requis par ma configuration matérielle ; ce qui explique que sur mes
deux PC (qui possèdent presque les mêmes pilotes), cette limite soit la
même. Je peux aussi en déduire que cette limite de taille n'est pas la
même selon les configurations matérielles... Correct ?



Correct, mais j'étendrais ça aussi à la configuration logicielle (par
exemple : un anti-virus lancé très top dans le démarrage de vindoz)

Y aurait-il un autre moyen autre qu'empirique (celui que j'ai pratiqué,
par essais successifs pour arriver à 16 Mo), pour connaitre le poids de
ces process ? (je sais... là j'abuse)



Pour tous les autres processes, oui, mais pour ceux lancés au
démarrage... Chais pas :-(
Peut-être que quelqu'un dans l'assistance publique de ce forum aura
une idée...
Pour les autres process :
Dans les Outils d'Administration/Performances, on trouve tout ce
qu'il faut.
Pour les détails, je te renvoie à la page (en anglais...)
http://members.shaw.ca/bsanders/WindowsGeneralWeb/RAMVirtualMemoryPageFileEtc.htm#Monitoring

Le problème est qu'il se lancera après les processus système.
Sinon, très très empiriquement, tu peux appuyer sur Ctrl Alt Suppr
dès le lancement de windows terminé pour voir les process lancés, et
essayer de voir comment ils l'ont été (en fonction de la taille,
peut-être, ou de l'importance du process : on commence sans doute par
winlogon, puis sans doute l'explorer et le spoolsvc, etc. JCB t'en
dira beaucoup plus là-dessus)

Je pourrais donc considérer que les process directement liés au
lancement du système (ici XP et pilotes) sont toujours en mesure de ne
pas transiter par le pagefile.sys...



Oui, par définition, car ils ont une adresse réservée :

(à part ceux du système dont l'adresse est connue, donc thériquement
jamais utilisée ailleurs).



OK.



C'est pourquoi un pagefile.sys bloqué à 1 GB est conseillé lorsque la
RAM atteint ou dépasse 1 GB.



Sur ce dernier point, je m'interroge... Avec la RAM nécessaire et
suffisante pour charger les applications habituelles et prévues, hors
options de débogage, dans l'absolu, compte tenu de ce que nous venons
de voir, dans mon cas précis, seuls 16 Mo de pagefile.sys seraient
suffisants. La taille que tu indiques ne me semble valable que si l'on
souhaite recueillir les informations de débogage en cas de plantage...
Correct ?



Presque. En cas de plantage, la RAM se vide entièrement dans
pagefile.sys ; il faut donc que pagefile.sys soit au moins de la
taille de la taille pour que le débogage puisse être effectué.
Or, ce n'est pas le cas si tu as 2 GB de RAM et 1 GB de pagefile.
En fait, cette valeur est un peu empirique, car il est admis que
(pour l'instant) 256 Mo suffirait dans tous les cas si tu as une RAM
large.
Mais cette RAM peut nécessiter temporairement un vidage conséquent
dans pagefile, par exemple en cas de traitement d'image ou de video.

Immédiatement... c'est très clair...



C'est "à peine" simplifié, hein, quand même.

mais confirme STP mes
interrogations dans le coeur de la conversation...



Voila qui est fait.

Très vifs remerciements pour la qualité de ton intervention.
Amicalement,Pascal.



C'est intéressant pour moi aussi :-) et pour quelques autres qui ont
lu le truc. Merci Pascal Hambourg ;-)

Amicalement, jeuf

--
JFV - Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nulla
elit.
Vestibulum hendrerit. Morbi a odio in lectus ornare feugiat. Etiam
quis mi.
Cras wisi eros, ornare in, mattis et, ullamcorper vitae, arcu. Duis
eu nisl
eget urna tempus hendrerit. Nam tincidunt aliquam dui. Nulla
porttitor...
Avatar
Sabrem JORAM
Bonjour,

Tu pensais que j'avais laissé tomber ? Non... seulement quelques
dizaines de pages à lire et à digérer (et évidemment toujours de
l'anglais :-) )

jeuf a écrit :

[...]

OK. Et donc sur une installation fraîche, ces process qui ont
besoin du pagefile.sys et pèsent au total chez moi plus de 15 Mo
sont les pilotes requis par ma configuration matérielle ; ce qui
explique que sur mes deux PC (qui possèdent presque les mêmes
pilotes), cette limite soit la même. Je peux aussi en déduire que
cette limite de taille n'est pas la même selon les configurations
matérielles... Correct ?





Correct, mais j'étendrais ça aussi à la configuration logicielle (par
exemple : un anti-virus lancé très top dans le démarrage de vindoz)



Ouaip ! :-) Peut-être... Mais pas ici significatif car j'ai testé
avec et sans applications au démarrage (c'est à dire se chargeant après
l'ouverture de session) ; selon mes tests, ce qui fait dans le cas que
nous abordons, que XP agrandit le fichier, c'est le poids des process
requis avant l'ouverture de session (intuition renforcée par mes
observations ; difficile à prouver autrement que par l'argument de la
"preuve contraire")... ; entre ma première partition système très
chargée et ma seconde partition système vierge de toute application, il
n'y a aucune différence... j'en déduis ce que j'en déduis ci-dessus...

Y aurait-il un autre moyen autre qu'empirique (celui que j'ai
pratiqué, par essais successifs pour arriver à 16 Mo), pour
connaître le poids de ces process ? (je sais... là j'abuse)





Pour tous les autres processes, oui, mais pour ceux lancés au
démarrage... Chais pas :-(
Peut-être que quelqu'un dans l'assistance publique de ce forum aura
une idée...
Pour les autres process :
Dans les Outils d'Administration/Performances, on trouve tout ce
qu'il faut.
Pour les détails, je te renvoie à la page (en anglais...)
http://members.shaw.ca/bsanders/WindowsGeneralWeb/RAMVirtualMemoryPageFileEtc.htm#Monitoring



Le problème est qu'il se lancera après les processus système.
Sinon, très très empiriquement, tu peux appuyer sur Ctrl Alt Suppr
dès le lancement de windows terminé pour voir les process lancés, et
essayer de voir comment ils l'ont été (en fonction de la taille,
peut-être, ou de l'importance du process : on commence sans doute par
winlogon, puis sans doute l'explorer et le spoolsvc, etc. JCB t'en
dira beaucoup plus là-dessus)



Pas convaincu (et je possède toute la panoplie des outils gratuits bien
plus performants que le Gestionnaire de tâches sur le sujet) car je
suppose que cela se passe avant l'ouverture de session et qu'un
processus a la possibilité à ce moment de ne charger qu'une partie de
ce qui sera réellement et quasi-définitivement actif en mémoire
immédiatement après l'ouverture de session (est-ce que cela ne
s'appellerait pas "segmentation" ou similaire ? ... ça me dit quelque
chose...). Donc, le poids des process chargé avant l'ouverture de
session est non précisément chiffrable car connaître le nom du process
(ils sont connus) ne signifie pas selon moi qu'il est entièrement
(poids total) chargé en RAM.

J'avais bien pensé au fichier Ntbtlog.txt mais il est inexploitable
pour ce faire...

Pas très important (quoique :-) )... c'est juste pour peaufiner...

Je pourrais donc considérer que les process directement liés au
lancement du système (ici XP et pilotes) sont toujours en mesure de
ne pas transiter par le pagefile.sys...





Oui, par définition, car ils ont une adresse réservée :

(à part ceux du système dont l'adresse est connue, donc
thériquement jamais utilisée ailleurs).



OK.





C'est pourquoi un pagefile.sys bloqué à 1 GB est conseillé lorsque
la RAM atteint ou dépasse 1 GB.







Oui. Certains préconisent pour cette raison un fichier d'échange d'une
taille au moins égale à celle de la RAM quelle que soit la taille de
cette dernière (adresses réservées)

http://www.osnn.net/articles.php?action=show&showarticle™


Sur ce dernier point, je m'interroge... Avec la RAM nécessaire et
suffisante pour charger les applications habituelles et prévues,
hors options de débogage, dans l'absolu, compte tenu de ce que nous
venons de voir, dans mon cas précis, seuls 16 Mo de pagefile.sys
seraient suffisants. La taille que tu indiques ne me semble valable
que si l'on souhaite recueillir les informations de débogage en cas
de plantage... Correct ?





Presque. En cas de plantage, la RAM se vide entièrement dans
pagefile.sys ;



Se vide-t-elle si j'ai désactivé toutes les options de débogage ? Sur
un PC de particulier "normal", ces options de débogage ne servent à
rien car cet utilisateur ne saura pas en exploiter les résultats ; et
personnellement, bien que particulier, je suis en mesure, sans les
outils de débogage de XP de déterminer quel est l'origine du plantage
(du moins sur mes PC ; je ne parle pas ici de dépanner, d'analyser, un
PC inconnu qui dysfonctionnerait)

il faut donc que pagefile.sys soit au moins de la
taille de la taille pour que le débogage puisse être effectué.
Or, ce n'est pas le cas si tu as 2 GB de RAM et 1 GB de pagefile.
En fait, cette valeur est un peu empirique, car il est admis que
(pour l'instant) 256 Mo suffirait dans tous les cas si tu as une RAM
large.
Mais cette RAM peut nécessiter temporairement un vidage conséquent
dans pagefile, par exemple en cas de traitement d'image ou de video.



Une autre piste : pas de fichier de pagination du tout (ça se discute
évidemment et ne conseillerais jamais ceci) sauf dans le cas de
certaines applications connues (et celles à découvrir) qui requièrent
absolument ce fichier (en l'occurrence effectivement certains logiciels
de traitements d'image) dès le démarrage.

http://www.codinghorror.com/blog/archives/000422.html

http://agileprogrammer.com/geeknoise/archive/2005/10/16/8673.aspx

Et je suis ici content d'avoir redécouvert seul le travail de mes
anciens (car je confirme les observations ici faites à savoir qu'un PC
sans pagefile.sys sous les quelques réserves émises fonctionne ainsi
qu'une horloge et sans aucun message d'erreur...)

[...]

J'ai les éléments que je souhaitais pour éclaircir en grande partie mon
dernier neurone embrumé, et en partie grâce à toi (je suis un adepte de
la maïeutique des Anciens) ... je t'en remercie encore une fois...
Tente STP si tu as une idée de me dire si au cours du chargement,
seule une partie ou la totalité d'un process (process égal ici le nom
d'un fichier tel qu'il apparait dans Ntbtlog.txt) est chargée avant
l'ouverture de session... Ou alors, sur quel forum de développeurs
poser ma question sans qu'ils m'agonissent et me traitent de neuneu ?
:-)

Amicalement, Pascal.

--
Pour me répondre en privé, enlevez DoubidoU de mon adresse...
Avatar
John of Aix
Sabrem JORAM wrote:
Bonjour,

Tu pensais que j'avais laissé tomber ? Non... seulement quelques
dizaines de pages à lire et à digérer (et évidemment toujours de
l'anglais :-) )



Tiens, je n'ai pas de mal moi ;-)

Si jamais tu butes dessus, fais signe, je ferai mon mieux.
Avatar
Sabrem JORAM
John of Aix a écrit :
Sabrem JORAM wrote:
Bonjour,

Tu pensais que j'avais laissé tomber ? Non... seulement quelques
dizaines de pages à lire et à digérer (et évidemment toujours de
l'anglais :-) )





Tiens, je n'ai pas de mal moi ;-)



Si jamais tu butes dessus, fais signe, je ferai mon mieux.



Salut,

Merci... mais ça va aller... :-) c'est surtout la lecture sur écran
et les différences de terminologie (ainsi qu'en français) qui est très
fatiguante... Je retiens ta proposition au cas où...

Cordialement, Pascal.

--
Pour me répondre en privé, enlevez DoubidoU de mon adresse...
1 2