Gestion du swap : manuelle ou automatique ? - Win NT/2K/XP - Windows & Software
Marsh Posté le 06-06-2003 à 12:30:59
Salut !
Microsoft conseille 1.5 x taille de la RAM.
Tu dois placer ton swap sur ta partion la moins utilisée.
A+
Marsh Posté le 06-06-2003 à 12:47:43
http://niklish.free.fr/dossierspratiques.htm
t'auras plein d'infos la dessus dans la rubrique mémoire virtuelle
(piquage de signature inside )
Marsh Posté le 06-06-2003 à 15:42:24
en swap mini
ram + 11
en maxi
1.5 (ou 2) x la ram
donc par exemple avec 512:
mini 523
maxi 1024
Marsh Posté le 06-06-2003 à 15:52:14
je conseille une taille maxi fixée à 2x la RAM... enfin, c pareil, si tu as 2Go de RAM, 1,5 fois devrait te suffir largement, mais ça dépend de ton utilisation aussi ! et de la place libre sur ton DD !
Marsh Posté le 06-06-2003 à 15:55:11
Faut arreter le delire : avec 512 de ram si t'en fous deja 512 en swap, ca te fe 1 giga de ram. Alors à moins d'utiliser des logiciels de 3D, ca sert carrement a que dalle de foutre 1go de swap et mm 512 mo c la bonne limite supérieure. Apres si il faut respecter a la lettre des vieux conseils plus adaptés aux machines actuelles et perdre de l'espace disque, bah allez y les moutons.
C com sous linux, le swap doit faire 2* la ram. C actuel pour un vieux pc mais actuellement c la moitie de la ram qd y'a 512 de ram, sinon c bouffer de l'espace disque pour rien.
Enfin, y'a les gens qui appliquent à la lettre sans réfléchir, ce ki reflete bien le comportement de notre societe de moutons
Marsh Posté le 06-06-2003 à 16:22:33
Moi, depuis que j'ai enlevé le swap, ça va beaucoup plus vite.
Il est vrai que j'ai 1 Go de RAM et que j'utilise des logiciels scientifiques (gros calculs) qui bouffe beaucoup de mémoire (jusqu'à 800Mo)
Marsh Posté le 06-06-2003 à 16:40:41
claque2000 a écrit : Faut arreter le delire : avec 512 de ram si t'en fous deja 512 en swap, ca te fe 1 giga de ram. Alors à moins d'utiliser des logiciels de 3D, ca sert carrement a que dalle de foutre 1go de swap et mm 512 mo c la bonne limite supérieure. Apres si il faut respecter a la lettre des vieux conseils plus adaptés aux machines actuelles et perdre de l'espace disque, bah allez y les moutons. |
Je pense qu'ici y'a bcp de monde qui fait de la 3D ou de la simulation, ou des grosses compilation, et avoir besoin de plus de 512Mo de RAM est parfois très très vite atteint ! tu connais mal à mon avis l'utilisation qu'on peut avoir d'un PC !
Marsh Posté le 06-06-2003 à 16:48:32
BeTtASpLeNdEnS a écrit : Je pense qu'ici y'a bcp de monde qui fait de la 3D ou de la simulation, ou des grosses compilation, et avoir besoin de plus de 512Mo de RAM est parfois très très vite atteint ! tu connais mal à mon avis l'utilisation qu'on peut avoir d'un PC ! |
Chui pas convaincu que bcp fassent de la 3D qd mm
Marsh Posté le 06-06-2003 à 17:29:59
BeTtASpLeNdEnS a écrit : Je pense qu'ici y'a bcp de monde qui fait de la 3D ou de la simulation, ou des grosses compilation, et avoir besoin de plus de 512Mo de RAM est parfois très très vite atteint ! tu connais mal à mon avis l'utilisation qu'on peut avoir d'un PC ! |
Il est vrai que je sais pas ce que c'est : j'utilises 3DS 5, poser 5 et mon linux c une gnetoo de A à Z ou tout est compilé.
Le linux, le swap, jlui en fout pas et pourtant pour la gentoo c des grosses compils sans arret et j'atteint jamais mes 512 de ram utilisés. Et pour la 3D, avec 512 de ram jvois pas pk jfoutrais 1 go de swap parce ke a ce nivo la c plus le cpu et la carte graphique qui goutent, et 512 de swap c amplement suffisant.
Marsh Posté le 06-06-2003 à 17:44:47
le swap ne va pas servir a grand chose a 1Go de ram
ca me fait rigoler ceux qui ont des DD de 6Go juste pour le swap
Marsh Posté le 06-06-2003 à 17:49:55
Vyse a écrit : le swap ne va pas servir a grand chose a 1Go de ram |
C kler vu qu'avec le debit du dd ca va ramer quasiment autant que si y'avait pas de swap.
Marsh Posté le 08-06-2003 à 15:24:23
Merci pour toutes ces réponses mais vous ne répondez pas à toutes mes interrogations :
1) Vaut-il mieux laisser Windows 2000 gérer la taille du swap ou fixer une valeur ?
2) Y a-t-il vraiment un gros gain de perf lorsque l'on fixe une taille de swap ?
Merci à vous
Marsh Posté le 08-06-2003 à 16:07:30
Quand tu la fixe tu evite la fragmentation du swaop, donc c mieux.
Marsh Posté le 08-06-2003 à 19:44:07
J'explique pas mal de choses ici, c'est long mais ça en vaut la peine
http://forum.pcastuces.com/sujet.asp?SUJET_ID=2591
Marsh Posté le 08-06-2003 à 20:33:30
pgriffet a écrit : J'explique pas mal de choses ici, c'est long mais ça en vaut la peine |
ptite variante la
Marsh Posté le 09-06-2003 à 08:28:39
interressant l'article http://forum.pcastuces.com/sujet.asp?SUJET_ID=2591
un extrais
Citation : - il doit avoir une taille mini égale à la taille maxi pour ne pas se fragmenter |
Marsh Posté le 09-06-2003 à 10:56:41
sheryu a écrit : Merci pour toutes ces réponses mais vous ne répondez pas à toutes mes interrogations : |
Il vaut mieux spécifier soi-même les valeurs car celles par défaut ne peuvent tenir compte des usages très différents que les gens font de leur PC.
Si vous n'avez pas le temps ou pas l'envie de lire mon sujet, voici quelques extraits.
Le mythe du coëfficient multiplicateur pour le swap remonte effectivement aux machines Unix, dans les années 70-80. Rappelons qu'à ce moment-là, les quantité de RAM étaient négligeables. Je me souviens avoir travaillé en 85 sur un ordinateur qui tournait avec 768 KB de RAM pour gérer 4 terminaux Unix. Donc, la règle de 2 fois la RAM fonctionnait parce que la quantité de RAM était petite. Mais ça devient inutile et même absurde de vouloir transposer cette règle aux quantités de RAM actuelles, même sous Unix.
Je rappelle que le principe du swap est de pallier à un manque de RAM. Donc, au plus vous avez de la RAM, au moins vous aurez besoin de swap.
Tant que j'y suis, il faut aussi oublier qu'un swap de taille fixe (mini=maxi) est mieux pour les performances, c'est méconnaître le fonctionnement du swap. Ce n'est pas parce que vous voyez qu'il gonfle en taille que Windows écrit dedans. Je sais, c'est paradoxal mais c'est comme ça. Windows (depuis Win98) fonctionne à l'anticipation en réservant de la place disque pour le cas où un programme allouerait une grosse quantité de RAM. La plupart du temps, cela ne se passe pas et cette anticipation n'a pas été utile. Mais comme il s'agit seulement de secteurs alloués dans la FAT et non pas d'une réelle écriture, ça ne coûte quasi rien en temps.
Il faut donc arrêter cette obsession de vouloir absolument mettre le swap sur le disque le plus rapide, "pour améliorer les performances". Si vous voulez vraiment que ça aille plus vite et que vous constatez que votre PC swappe réellement (voir plus bas), achetez plutôt une barrette de RAM.
D'autre part, il est impossible de conseiller une bonne taille pour le swap, sans connaître l'usage que vous faites de votre PC. Celui qui a 512 MB de RAM et qui se contente de surfer, de graver un CD, de jouer, d'utiliser les applications Office n'aura pas besoin d'une grosse quantité de swap (mini=100 MB, maxi 700 ou 800 MB).
Pour les bonnes valeurs, je vous renvoie à mon sujet, il y a un paragraphe Quelle taille pour le page file ?
Et si vous voulez savoir si vous avez assez de RAM pour l'usage actuel de votre PC, je vous explique dans mon sujet comment le vérifier. C'est pas la peine d'acheter une barrette si votre quantité actuelle est suffisante.
Si vous pigez l'anglais, c'est très bien expliqué ici :
Pour 9X/ME : http://aumha.org/a/memmgmt.htm
Pour XP : http://www.aumha.org/a/xpvm.htm
Marsh Posté le 10-06-2003 à 19:51:25
Vyse a écrit : le swap ne se fragmente pas contrairement aux rumeurs |
Je vois pas pourquoi le swap se fragmenterai pas? Si Windows doit augmenter sa taille et que y a plus de bloc contigu au fichier existant de libre, ben y va fragmenter le fichier.
Le swap n'est qu'un fichier comme un autre.
Enfin si on le prouve le contraire...
Marsh Posté le 11-06-2003 à 07:04:33
T'as pas bien lu ce que j'ai écrit. Ce n'est pas parce que le fichier swap gonfle en taille que Windows a écrit dedans. Il travaille par anticipation en allouant des secteurs disque. Le fait que ces secteurs soient contigus on non est sans importance puisque dans la plupart des cas, ils ne seront jamais utilisés (= windows ne transfèrera rien de la RAM vers le swap).
Donc, si tu spécifies une taille minimale suffisamment grande et une taille maximale beaucoup plus grande, tu n'auras jamais de fragmentation, du moins pas comme pour un autre fichier. Eh oui, le pagefile est un fichier un peu différent, quoi qu'on en dise. Je te conseille de lire mon sujet, ça pourra éclairer ta lanterne.
Marsh Posté le 11-06-2003 à 11:11:49
Super sujet, merci bcp, on en apprend tous les jours, eh vi !
Pour ce qui est de la fragmentation du swap, et les personnes qui restent persuadé de sa "fragmentation", il faut surtout voir que le swap autogère (de part la réservation de place) son espace... et donc la fragmentation n'existe pas... Si une appli utilise du swap, il balance sur le fichier, et ensuite si une autre appli en a besoin, elle se placera à un autre endroit sur le swap, etc... mais en aucun cas ça va se fragmenter en plein de ptit bouts, donc chaque appli aura son espace disque (chaque appli qui a besoin du swap).
Le seul avantage de fixer la taille du swap, c'est d'être sûr de l'espace disque libre que l'on a, mais comme toujours c'est mieux d'avoir de la marge, arriver à - de 10 ou 20% d'espace lire sur un disque réduit bcp les perf ! (c moi qui dit ça avec mes pauvres 20 petits Go ! :-( lol)
Marsh Posté le 16-06-2003 à 21:50:42
Topic très instructif en effet
Bcp de mes idées étaient fausses
Marsh Posté le 16-06-2003 à 22:25:39
J'ai aussi appris beaucoup puisque j'ai surtout traduit l'article qu'on trouve ici en rajoutant certaines choses pour le rendre plus clair (?).
Voici d'ailleurs le lien pour ceux qui comprennent l'anglais : http://www.aumha.org/a/xpvm.htm
Les mythes sont encore nombreux, Win98 qui ne peut soi-disant pas gérer plus de 128 MB de RAM, le swap qui se fragmente, le swap égal à un multiple de la RAM et de taille fixe, je vois tous les jours des commentaires à ce propos.
Marsh Posté le 16-06-2003 à 23:05:10
mon fichier pagefile.sys est composé de plusieurs fragment et pourtant d'apres vous on peut dire qu'il n'est pas fragmenté?
soit vous vous trompez, soit vous vous expliquez mal
Marsh Posté le 16-06-2003 à 23:22:49
jai aussi 320 de ram
MIN= 331
MAX= 640
C bon ou fau que je fasse des changemen ?
Marsh Posté le 17-06-2003 à 07:13:20
Stranger a écrit : mon fichier pagefile.sys est composé de plusieurs fragment et pourtant d'apres vous on peut dire qu'il n'est pas fragmenté? |
comment tu vois qu'il est en plusieurs fragments?
Ils sont ou ces fragments?
Marsh Posté le 17-06-2003 à 09:25:30
guigui, ça dépend de l'usage que tu fais de ton PC, la taille mini est Ok, c'est la taille maxi qui pourrait ne pas suffire mais c'est impossible à dire sans renseignement supplémentaire. Je l'explique dans mon sujet au paragraphe
Quelle taille pour le page file ?
Citation : mon fichier pagefile.sys est composé de plusieurs fragment et pourtant d'apres vous on peut dire qu'il n'est pas fragmenté? |
Je l'ai déjà expliqué 2 fois, je recommence.
Le pagefile peut effectivement être fragmenté. Mais contrairement à un autre fichier de grande taille (genre une vidéo), ça n'a aucune importance puisque Windows n'écrit que très peu de choses dedans, il se contente de réserver de la place disque. Si tu as mis une valeur minimale trop basse et que tu lances beaucoup de programmes, Win va anticiper et va donc réserver plein de place disque et il se pourrait que tu aies des morceaux de swap de 50 ou 100 MB éparpillés.
Mais ça n'a aucune importance puisqu'il prévoit presque toujours trop de place, ceci afin d'assurer de bonnes performances pour le cas où on aurait réellement besoin de swapper.
C'était déjà le cas avec Win9x. Je peux mieux en parler car j'ai Win98 et l'usage de mon swap est TOUJOURS à zéro mais sa taille varie de 20 à 60 MB. Lors de l'agrandissement du swap qui passe parfois de 20 à 60 MB, Win n'écrit RIEN dedans. D'ailleurs, cet agrandissement se passe en une fraction de seconde. Comment imaginer que Win écrive 40 MB en moins d'une seconde ? C'est donc bien uniquement de la réservation d'espace disque et rien d'autre, je n'ai donc rien à cirer que ce bloc de 40 MB soit contigu avec l'autre de 20 MB.
C'est en ça que le swap est différent d'un autre gros fichier qui est généralement rempli au fur et à mesure mais pour lequel on ne réserve pas à l'avance 500 MB de place disque. Si tu convertis un .avi de 500 MB en .mpeg, le logiciel qui le fera ne réservera probablement pas 500 MB au début de la conversion mais écrira au fur et à mesure. C'est toute la différence avec le swap.
Si ce n'est pas clair, merci de le dire.
Marsh Posté le 17-06-2003 à 09:39:53
Je débarque un peu sur votre sujet.
Mais juste pour relancer le débat.
Pourquoi doit-on mettre le SWAP = RAM + 12 Mo (par exemple) ?
En fait c'est surtout pour avoir un fichier d'échange supérieure à la RAM disponible.
Comme cela en cas de crash (blue screen) on peut obtenir un dump complet (vidage de la mémoire) dans le swap.
Si le swap est inférieur à la ram physique disponible, le dump ne sera pas correct.
Donc si vous ne souhaitez pas de dump inutile de configurer le swap > ram physique.
Ensuite pourquoi mettre le swap sur une partition FAT16 isolée.
Pour eviter les problèmes de performances liés à la gestion NTFS (droits, ...)
Ensuite pour éviter les problèmes de fragmentation si on laisse le swap évoluer entre deux valeurs (min et max)
Pour finir le swap est utilisé par le système même si la ram n'est pas saturée.
En effet le Memory Manager de Windows NT transfert périodiquement des pages de données utilisateurs stockée mémoire vive vers le swap.
Ce transfert est régulié et se fait bien avant que le système arrive à saturation de la mémoire vive.
Ceci évite un swap de dernière minute des données en RAM si le système à soudainement besoin de mémoire ram.
Les données transférées vers le swap ne sont que les données utilisateurs modifiées et qui sont anciennes dans le systèmes.
Chaque page mémoire dispose d'un flag temps qui permet de savoir si elles n'ont pas été appelée par le processus parent (application qui dispose de cette mémoire)
Pour info le Memory Manager ne réserve pas n'importe quel quantité de mémoire dans le swap.
Dans la mesure du possible il réserve exactement le montant mémoire demandé par l'application cliente.
Ceci évite de chercher dans le swap, au dernier moment, de l'espace libre pour transférée un zone mémoire ram utilisateur au dernier moment quand le MM a besoin de récupérer de la ram pour un autre processus.
Je relance un peu le débat c'est un sujet intéressant.
WW
Marsh Posté le 17-06-2003 à 10:04:13
BeTtASpLeNdEnS a écrit : ou des grosses compilation |
quel genre de compilation ? parce que pour arriver à remplir 512 Mo de RAM avec ça, faut le faire
Marsh Posté le 17-06-2003 à 10:24:58
pgriffet a écrit : J'ai aussi appris beaucoup puisque j'ai surtout traduit l'article qu'on trouve ici en rajoutant certaines choses pour le rendre plus clair (?). |
Très interessant lien, ça fixe les idée et casse quelques legendes
Marsh Posté le 17-06-2003 à 10:54:12
antp a écrit : |
non non, il faut juste une appli qui libère pas bien la mémoire ! lol :-(
Ben des compilations d'appli client serveur lourdes (et client lourd), avec de la grosse méchante fonction bien compliquée et bien longue.
Marsh Posté le 17-06-2003 à 11:09:24
En gros mon PC sert à =
=>Surfer 24/24 7/7
=>Téléchargements , uploads
=>écouter des mp3
=>Regarder des divx
=>Graver des compils
=>Un peu de bureautique (création de diapo , exel , word etc..)
=>Messagerie instantanée
=>Une fois par an , kan sa me prend , jouer online a counter strike , mais vraiment peu souvent !
Voila !!!!
Donc est-ce que sa me suffit 331 min et 640 en max ??
PS= Jai Windows XP Home Edition , sachant que j'ai tout enlever ce qui bouffe de la mémoire ! le style luna , restauration du systéme , mise a jour auto ...
Marsh Posté le 17-06-2003 à 11:13:07
Si tu n'as jamais de message "MV insuffisante", tu peux laisser la valeur maxi, elle devrait suffire.
Marsh Posté le 17-06-2003 à 14:26:47
BeTtASpLeNdEnS a écrit : non non, il faut juste une appli qui libère pas bien la mémoire ! lol :-( |
mwouais je suis pas convaincu de ton explication, pas du tout même...
Marsh Posté le 17-06-2003 à 14:54:10
Le plus simple pour avoir une application qui leak (perd) de la mémoire c'est d'utiliser Leakyapp du resource kit de Windows NT.
WW
Marsh Posté le 17-06-2003 à 14:56:01
1 Go de ram avec 2 P3 800 et du 15K/mn en U160 le swap il fonctionne nikel sur WIn2K
Marsh Posté le 17-06-2003 à 16:59:15
WESTWOOD a écrit : Le plus simple pour avoir une application qui leak (perd) de la mémoire c'est d'utiliser Leakyapp du resource kit de Windows NT. |
Ouais enfin le rapport entre les fuites mémoire et la mémoire utilisée à la compilation faudra m'expliquer...
Marsh Posté le 17-06-2003 à 17:01:23
Hello antp,
C'était juste pour te donner un exemple plus probant d'application qui ne libère pas la mémoire qu'elle consomme.
Mais à priori cela n'était pas ta question.
WW
Marsh Posté le 18-06-2003 à 09:18:42
antp> ben euh, que te de plus... une appli génère un tas de petits bout de prog, et comme un abruti, il ne libère pas la mémoire entre chaque fonction, et donc ben ça grossit vite (en plus c t des PC du taf, avec pas plein de mémoire, et un DD pourri, etc...); et ensuite seulement il lance la compilation de l'ensemble de bout de source générés (de mémoire).
Donc; quand j'ai dit "compil", c'est vrai qu'en fait là le pb il vient plutôt de la génération du code (oué, c un AGL !).
Et la mémoire était très sollicitée donc (même si elle n'aurait pas du l'être autant si ça avait été bien fait !).
Marsh Posté le 06-06-2003 à 12:20:27
Vaut-il mieux laisser Windows 2000 gérer la taille du swap ou fixer une valeur ?
J'ai 320 Mo de RAM, quelle taille de swap devrais-je mettre alors ?
Est-ce qu'il y a un gros gain de performance à fixer la taille ?
Si le système demande tout à coup une énorme quantité de swap (comme çà m'est arrivé récemment quand j'ai utilisé le logiciel jv16 PowerTool qui me bouffait toute ma mémoire au moment de nettoyer ma base de registre !!!), est-ce le fait d'avoir une taille fixe ne peut pas faire planter le système ?
A bon entendeur,