Jump to content

[LOGICIEL] paging file : histoire de RAM et de Mémoire Virtue


masahico

Recommended Posts

Salut tous le monde !

j'ai quelques question auxquel je ne trouvent pas de réponses suite aux différents essais que j'ai pu faire personnellement sur la MV.

J'ai pour habitude pour ma machine de désactiver le swap, et en général, sur toutes les machines sur lesquel j'ai fais cette expérience, on constate qu'elle est plus réactive (mais pas quantifiable avec des benchmarks), disons que c'est une sensation tangible par rapport à une machine que l'on à l'habitude d'utiliser.

Cependant, en fonction de la quantité de RAM utilisé, on se retrouve vite à un mur qui est que l'on ne peux pas ouvrir n'importe quoi n'importe comment ... avec 256 Mo pas la peine d'essayer (le système en prend déjà 150 Mo à lui tout seul, voir plus si logiciel hardware spécifique), 512, en bureautique légère, et 1024 confortable (je précique qu'avec cette config, je lance tout mes programmes : mule BT folding etc ...) mais ... mais avec cette dernière config, si on veut jouer, faut arrêter tout les programmes qui tournent avant de lancer le jeu. C'est pour ça d'ailleurs que j'envisage de passer en 2048.

ce que j'ai constaté aussi c'est que windows ne se base pas sur la quantité de RAM disponible pour l'éxécution des programmes, mais sur la taille globale de son paging file (RAM dispo + MV). Avec samuraiz, j'ai fais un test simple, j'ai fais un monitoring de la taille du paging file globale, et j'ai lancé plein d'application pour voir ce que ça faisais :

sans MV ou MV fixe + RAM : dès que l'on dépasse la quantité de paging file, l'application qui créer ce dépassemant plante avec des messages d'erreurs, feux d'artifice (mais ça ne m'a jamais créer d'instabilité sur windows).

avec MV flexible : on vois lorsque les besoins sont là la taille du paging file évolué (sois en augmentant, sois en diminuant)

Ma question concerne le moment ou l'on désactive la MV, à ce moment le paging file devrait avoir la taille disponible sur la RAM, mais ça n'est pas le cas, voilà ce que j'obtiens :

sous WinXP (H ou P):

256 Mo RAM = 250 Mo paging file

512 Mo RAM = 490 Mo paging file

1024 Mo RAM = 925 Mo paging file

Sous Win2K :

512 Mo RAM = 500 Mo paging file

Comment explique t'on que windows ne puisse pas exploiter complètement la taille de la RAM en place. D'après ce que j'ai lu, et avec une certaine logique, je pourrais penser que la taille disponible sur la RAM qui n'est pas incluse dans le paging file est une zone non paginable. D'ailleurs, un logiciel me conforte dans cette idée (cenatech ramdisk). Ce logiciel parmis toutes ces options me permet de créer un ramdisk dans la zone non paginable (quantité maxi 43 Mo avec ma config en 1048 Mo). Et une fois créer, on vois effectivement que la taille du paging file ne bouge pas, et que mon RAM Disk fais bien 43 Mo, donc que j'ai bien utilisé la zone non utilisé de la RAM.

Si ma première question à un début de réponse avec mon raisonnement (qui peut être faux), en voilà une seconde : Si j'ai raison pour la première question, alors pourquoi la zone non paginable augmente en fonction de la quantité de RAM disponible (MV désactivé pour rappel) ? Est ce une précaution de Windows qui donne se résultat, ou alors est ce qu'il y a vraiment plus de programme système dans cette zone non paginable (moi j'en doute, sinon je devrait normalement rencontré des bugs énormes avec la création de mon RAM Disk dans cette zone) ?

PS : autre constatation avec la MV désactivé. Sous WinXP, ça ne pose pas de problème particulier, par contre sous Win2K, il y a certaines application qui n'aime pas du tout cette opération, ce qui peut dans le pire des scénario les empêché de fonctionner (ça peut être fortement gênant si c'est l'explorer par exemple, je dis ça parce que ça m'es arrivé)

donc voilà c'est hyper long, bourré de fautes ... mais si qqn connait la réponse à mes question, ça seras vraiment une bête !!!!

Link to comment
Share on other sites

Voila pour modifier la mémoire SWAP, il suffit de faire clik droit sur Poste de Travail, d'aller sur l'onglet Avancé, de cliker sur Paramètres (le premier), onglet Avancé, et enfin Modifier.

Tu accèdes alors à la fenètre de modif du pagefile.

f87c883f095288507f162850129fd21e.JPG

Alors les paramètres préconisés sont

-Taille initiale: total de mémoire physique sur ton PC (la mémoire en barettes) + la moitié de ce total

-Taille maximal: je dirais 2 fois la mémoire physique.

Après je ne suis npas pro dans ce domaine, mais moi je fait toujours ce réglages (sauf sur mon screen, mais c'est pas moi qui l'ai fait car j'ai pas regardé, vu que c'était tout pré-installé, PC Portable oblige).

Link to comment
Share on other sites

Alors les paramètres préconisés sont

-Taille initiale: total de mémoire physique sur ton PC (la mémoire en barettes) + la moitié de ce total

-Taille maximal: je dirais 2 fois la mémoire physique.

aprés différents essais sur mon PC, utilisation familiale dirons-nous

j'ai de meilleurs résultats en laissant XP gérer la taille du pagefile lui-même (sur une partition Swap) plutôt qu'en fixant une limite inférieure, petite, moyenne ou grande. C'est l'option que j'ai conservé.

D'autre part, je n'ai pas laissé de pagefile, même petit, sur C:, car XP le choisissais toujours en prioriité.

En gros, chez moi, le plus simple est ce qui marche le mieux.

;)

Link to comment
Share on other sites

Non le problème est un poil différent même si ça concerne le même sujet.

en synthétisant (pas évident) ...

1) pk lorsque l'on désactive la mémoire virtuel, la taille du paging file ne prend pas la même taille que la RAM disponible (pour les quantités, voir le post original)

2) est il possible que la zone non paginable augmente en fonction de la quantité de RAM disponible (normalement l'espace réservé au système ne devrait pas bouger non ?)

Link to comment
Share on other sites

1) pk lorsque l'on désactive la mémoire virtuel, la taille du paging file ne prend pas la même taille que la RAM disponible (pour les quantités, voir le post original)
Je pensais que le pagefile correspondait à la mémoire virtuelle... Je me trompe alors ? Sinon, si tu la désactives, normal que sa taille ne suive pas la taille de ta RAM !
2) est il possible que la zone non paginable augmente en fonction de la quantité de RAM disponible (normalement l'espace réservé au système ne devrait pas bouger non ?)
Houla t'es pointu toi.... Tu n'as pas des questions plus simples ? J'en sais rien.

Mais le problème majeur est que la non consommation de RAM est due à deux phénomènes:

1] certains augmentent leur RAM sans en avoir besoin et sont déçus que ça ne servent à rien dans la majorité des cas;

le cas le plus fréquent est un windows viellissant ou mal installé, sur un disque non partitionné, ou plein de saloperies qui s'accumulent au cours du temps qui fait penser à un débutant que la seule solution est d'augmenter sa RAM (j'en connais plein dans ce cas, qui hésitent à réinstaller et tentent l'achat d'une barette; ça fait juste marcher le commerce.

2] par défaut, windows fait un x1.5 sur la taille RAM sur la taille mémoire virtuelle minimum, ce qui fait des quantités phénoménales de RAM+virtuelle cumulée, et la RAM n'est donc souvent que très peu consommé, car pas besoin.

Plus la RAM est grande, plus il faut contraindre la mémoire virtuelle à une taille assez faible (avec un minimum fixé à environ 200M ou même un peu moins) afin que la RAM soit plus utilisée que la mémoire virtuelle.

Maintenant, XP gère-til correctement la RAM et le swap ? A débattre......

Link to comment
Share on other sites

Oui excuse moi, c'est vrai que les termes ne sont pas bon ...

paging file = mémoire virtuel

pour qualifié l'ensemble, cad mémoire virtuelle + RAM = charge dédié (d'après le gestionnaire de tâche)

Quand à la gestion de la mémoire virtuelle en fait il n'y pas de rêgle chacun fais comme il l'entend et l'adapte en fonction de ses propres besoins, le but étant effectivement de faire fonctionner au minimum la mémoire virtuelle (parce que elle utilise le disque dur et non pas la RAM, donc plus lent en terme de lecture/écriture et accès) ... cependant windows est con, il écrit tous temps qqe chose dessus, et c'est d'ailleurs la première chose qu'il fais avant de remplir la RAM.

mais disons que la seconde question est pas facile, mais la première accessible au premier venu, faite l'essai ... désactivé la mémoire virtuelle, et regardé la charge dédié disponible avec le gestionnaire de tâche, elle sera inférieur à la quantité de RAM disponible dans le PC ... et je ne comprend pas pourquoi ... c'est gênant quand on dispose de 1024 Mo de RAM, et que windows n'en utilise que 925 Mo, ya de la perte dans l'air.

Link to comment
Share on other sites

cependant windows est con, il écrit tous temps qqe chose dessus, et c'est d'ailleurs la première chose qu'il fait avant de remplir la RAM.
jamais compris non plus pourquoi windows ne veut ou ne sait pas utiliser la RAM, et plus il y en a, plus c'est grave; je suis étonné qu'il n'y ait pas au moins un expert chez M$ qui se penche sur le sujet; comprendre comment un swap est géré sur linux est instructif. Si quelqu'un peut investiguer vista sur ce point.....

Exemple de mon cas: j'ai 256Mo de RAM; mon swap min est réglé à 128Mo.

De temps en temps (très rare), XP me signale qu'il a besoin de l'augmenter un peu et il le fait tout seul; ce n'est pas pour ça que je dérègle la valeur minimale. Ça marche très bien comme ça.

L'important est que le swap min reste groupé/non fractionné sur le disque pour éviter les mouvements de tête de lecture trop importants, source de perte de performance.

Link to comment
Share on other sites

je suis étonné qu'il n'y ait pas au moins un expert chez M$ qui se penche sur le sujet; comprendre comment un swap est géré sur linux est instructif. Si quelqu'un peut investiguer vista sur ce point.....

je donne ce link vers un autre post, donc ici ou j'ai écrit grosso modo la même chose, et par rapport à ta question, il y a un début de réponse au début du post

pour krapace et snooky, oui et c'est tout à fais normal ... quand on dispose de peu de RAM, mais quand on à suffisamment ou largement de RAM, là windows est con

encore plus pour mes questions

Link to comment
Share on other sites

Non le problème est un poil différent même si ça concerne le même sujet.

en synthétisant (pas évident) ...

1) pk lorsque l'on désactive la mémoire virtuel, la taille du paging file ne prend pas la même taille que la RAM disponible (pour les quantités, voir le post original)

2) est il possible que la zone non paginable augmente en fonction de la quantité de RAM disponible (normalement l'espace réservé au système ne devrait pas bouger non ?)

Bonsoir,

1°Ce que tu nommes paging file est en fait le page pool:la zone non paginable-qui existe bel et bien-n'est pas prise en compte

2°En théorie, l'usage voudrait qu'il y ait des allocations personnalisées, mais XP travaille comme un fainéant:en fait, il augmente le tout de façon mathématique, même s'il n'y en a pas besoin.Toutefois, il faut noter qu'il a plus tendance à donner des pagefiles énormes avec de grosses RAM que l'inverse.

Exemple de mon cas: j'ai 256Mo de RAM; mon swap min est réglé à 128Mo.

Bonsoir,

Il est plus judicieux de le passer à 256, le pagefile.

Link to comment
Share on other sites

Il est plus judicieux de le passer à 256, le pagefile.
Ha bon ? Même si je consomme moins de 128Mo de swap ? Comment tu fais ton calcul judicieux ?

Un min à 128 ne signifie pas que le swap est fixé à 128, mais que je réserve une zone de disque groupé de 128Mo pour le swap c'est tout.

Link to comment
Share on other sites

1°Ce que tu nommes paging file est en fait le page pool:la zone non paginable-qui existe bel et bien-n'est pas prise en compte

2°En théorie, l'usage voudrait qu'il y ait des allocations personnalisées, mais XP travaille comme un fainéant:en fait, il augmente le tout de façon mathématique, même s'il n'y en a pas besoin.Toutefois, il faut noter qu'il a plus tendance à donner des pagefiles énormes avec de grosses RAM que l'inverse.

Pour le 1°, je me suis planté de terme voir plus haut, si je prend les termes exact utilisé par windows, c'est la charge dédié dans le gestionnaire de tâche ... et donc quand tu désactive le paging file (donc la mémoire virtuelle), la taille de la charge dédié devrait correspondre à la quantité de RAM en place, ce qui n'est pas le cas

Pour le 2°, ça serais con si la zone non paginable augmentais avec les dimensions de la RAM parce que le système de base en terme de taille lui ne bouge pas ...

[un min à 128 ne signifie pas que le swap est fixé à 128, mais que je réserve une zone de disque groupé de 128Mo pour le swap c'est tout.

Exact, de plus, même si la taille 128 Mo peut paraitre faible, ça ne veux même pas dire que windows va s'en servir totalement, pour peu que la RAM suffise ... donc dans son cas ça suffit ... mettre 256, ça ne va rien apporter, voir peut être rendre moins réactif la machine parce que windows est con, et va d'abord dans le paging file ...

La taille mini que l'on rêgle correspond à l'utilisation que l'on fais de sa machine, et en aucun cas n'est une rêgle de base pour tous le monde, parce que tous le monde à un usage différent de sa machine. L'objectif est de régler une valeur mini qui soit en un bloc, et que windows y est le moins accès possible ... pour la valeur maxi, on peut mettre ce que l'on veut, windows n'augmenteras le paging file que si le besoin se présente (gros programme à ouvrir exceptionnelement type adobe, jeux etc ...) le diminuras automatiquement quand le besoin seras partis.

Link to comment
Share on other sites

La taille mini que l'on rêgle correspond à l'utilisation que l'on fais de sa machine, et en aucun cas n'est une rêgle de base pour tous le monde, parce que tous le monde à un usage différent de sa machine.

C'est clair; il suffit de surveiller la taille du pagefile.sys pour adapter la taille min à son utilisation.

Illustration swap groupé ou non:

swap min trop petit, le complément se fera un peu n'importe ou sur le disque => ralentissement de fonctionnement:

expandedpagefile.gif

swap groupé / cas idéal si non surdimensionné, ce qui impliquerait trop de fragmentation du swap:

normalpagefile.gif

Link to comment
Share on other sites

Illustration swap groupé ou non:

swap min trop petit, le complément se fera un peu n'importe ou sur le disque => ralentissement de fonctionnement:

expandedpagefile.gif

swap groupé / cas idéal si non surdimensionné, ce qui impliquerait trop de fragmentation swap:

normalpagefile.gif

Bon de toute manière pour la fragmentation, il y a des solutions de défragmentation via des logiciels type diskeeper ou autre

mais pk windows est con ... euh je m'écarte, toujours pas de réponse au petit test de la désactivation de la mémoire virtuelle

Link to comment
Share on other sites

mais pk windows est con
Va savoir.... ce qui est surprenant est qu'entre w2000 et XP, rien n'a été fait sur ce point. Le travail sur le skinning était probablement plus important.
... euh je m'écarte, toujours pas de réponse au petit test de la désactivation de la mémoire virtuelle
Mais si ça fait longtemps que j'ai testé ! Mais windows me réclame du swap, et on tourne en rond !

En fait, je trouve normal qu'il veule un swap minimum raisonable, car des activités identifiées avec très peu de demandes d'accès n'ont rien à faire en RAM !

Link to comment
Share on other sites

1°Ce que tu nommes paging file est en fait le page pool:la zone non paginable-qui existe bel et bien-n'est pas prise en compte

2°En théorie, l'usage voudrait qu'il y ait des allocations personnalisées, mais XP travaille comme un fainéant:en fait, il augmente le tout de façon mathématique, même s'il n'y en a pas besoin.Toutefois, il faut noter qu'il a plus tendance à donner des pagefiles énormes avec de grosses RAM que l'inverse.

Pour le 1°, je me suis planté de terme voir plus haut, si je prend les termes exact utilisé par windows, c'est la charge dédié dans le gestionnaire de tâche ... et donc quand tu désactive le paging file (donc la mémoire virtuelle), la taille de la charge dédié devrait correspondre à la quantité de RAM en place, ce qui n'est pas le cas

Pour le 2°, ça serais con si la zone non paginable augmentais avec les dimensions de la RAM parce que le système de base en terme de taille lui ne bouge pas ...

Bonsoir,

Pour le 1°, comme dit plus haut, il y a une réservation système:c'est cette partie qui te manque.De plus, on ne peut pas désactiver la MV.....tout au plus on peut indiquer à XP de ne pas écrire dans le fichier de pagination.

Pour le 2°, c'est mathématique:en augmentant le pagefile, on augmente aussi le page pool.....et le reste!!

Link to comment
Share on other sites

oui mais toi c'est normal, tu n'as pas assez de RAM pour faire ce test (256 Mo ... normal qu'on te demande du swap ... chez moi windows tout juste démarré prend 200 Mo donc dès que tu fais qqe derrière, tu pète le plafond de la RAM donc swap)

quand à windows est con entre XP et 2K ... c'est kif kif bourricot parce que c'est une base commune (NT5) je me trompe (mais si il y a des différences, foncièrement c'est pareil)

Link to comment
Share on other sites

Il est plus judicieux de le passer à 256, le pagefile.
Ha bon ? Même si je consomme moins de 128Mo de swap ? Comment tu fais ton calcul judicieux ?

Un min à 128 ne signifie pas que le swap est fixé à 128, mais que je réserve une zone de disque groupé de 128Mo pour le swap c'est tout.

bonsoir,

500-256=244, arrondi à 256.

La preuve que 128 ne suffisent pas forcément:

Exemple de mon cas: j'ai 256Mo de RAM; mon swap min est réglé à 128Mo.

De temps en temps (très rare), XP me signale qu'il a besoin de l'augmenter un peu et il le fait tout seul; ce n'est pas pour ça que je dérègle la valeur minimale. Ça marche très bien comme ça.

L'important est que le swap min reste groupé/non fractionné sur le disque pour éviter les mouvements de tête de lecture trop importants, source de perte de performance

La taille du pagefile ( et non du swap) est inversement proportionnelle à celle de la RAM installée:pour 1Go de RAM, on conseillera une valeur mini (128), pour les petites configurations, type 128 Mo, un pagefile à 370-390Mo.

Bon, il est vrai que les adressages virtuels ne dépendent pas que de la quantité de RAM embarquée, mais pour une utilisation normale, ces valeurs sont très proches de la réalité quotidienne...après, les amateurs de montage auront besoin de gros pagefiles, mais 'est encore une autre histoire.

Link to comment
Share on other sites

Un min à 128 ne signifie pas que le swap est fixé à 128, mais que je réserve une zone de disque groupé de 128Mo pour le swap c'est tout.
500-256=244, arrondi à 256.

La preuve que 128 ne suffisent pas forcément:

Désolé mais je ne comprends pas ta "preuve" qui n'est qu'un calcul théorique.

Ma "preuve" est simplement l'observation de mon pagefile.sys !

Encore une fois, il n'y a pas de généralisation issue de calcul, mais plus une adaptation liée à son environnement lié essentiellement à la quantité de services et de programmes lancés au démarrage, ainsi qu'aux programmes couramment utilisés. Donc absolument rien de généralisable. Juste un peu de réflexion.

Link to comment
Share on other sites

pour illustrer ma question, après je pense que ça va être plus clair, j'envoie une photo de l'os :

802d248c6e862360c1b9e53c28e83ced.JPG

je précise que j'ai désactivé la mémoire virtuelle (paging file).

Dans la case Mémoire physique, la ligne totale représente la quantité de RAM installé ... ramené en Mo octet, ça donne 383 Mo de RAM ce qui correspond bien à ce qui est installé dans la machine cad 128 Mo + 256 Mo ... à 1 Mo prèt (il faut utiliser comme coef 1/1024 si on veut passer de ko en Mo ou 1024 si on veut passer de Mo à ko comme coef en fonction du résultat que l'on veut obtenir)

Dans la charge dédié, les données représente la quantité de mémoire utilisé par windows :

total : mémoire actuelle utilisé (233 Mo)

limite : taille maxi de la mémoire pouvant être utilisée (346 Mo)

pic : valeur maxi de la mémoire utilisé ... historique (248 Mo)

donc mon problème (là c'est pas ma machine, mais le résultat est identique) est que la limite de la charge dédié est inférieur au total de la mémoire physique ... ya un trou de 38 Mo ce qui n'est pas rien ... de plus ça suit l'augmentation de la taille de la RAM, plus y'en à, plus le trou est gros ... alors on pourrait croire que le manque provient de la mémoire pour le noyau, mais il ne semble pas parce que les dimensions ne correspondent pas ...

PS : je précise que je suis sûr de ce que j'avance car je le confirme avec un autre logiciel (samuraiz)

RePS : et je précise que c'est une expérience facile à faire pour chacun d'entre vous

Alors ya une explication ?

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...