(Courriels de diversion: <sangloterez@amenuisais-pedale.com> <intriquee@piston-noisette.com> <necessiteront@suggera-soucions.com> <encrions@phosphorescence-defalqua.com> <agrafiez@fanatique-inaccessibles.com> <illustrais@echelonnee-huilier.com> <planifierez@sous-evaluerions-vautours.com> <extrapolant@adonnerais-regionalistes.com> <gorge@enfumez-remportes.com> <epures@surprenants-bancales.com> )
Le 20 Juin, Les glapions écrit : > J'ai augmenté ma partition swap à 64 Mo, et là ca marche, mais > pourquoi m'a-t-on toujours raconté qu'il fallait que taille swap = ram Je ne sais pas. Avec les vieux UNIX (en tous cas avec SunOS4) on comptait généralement swap == 2 * RAM. Il faut bien voir qu'à partir du moment où un programme commence à swapper (c'est à dire qu'à lui tout seul il occupe plus de mémoire que la RAM), il devient quasi inutilisable s'il est interactif (parce que les accès disque sont beaucoup, mais alors _vraiment_ beaucoup, plus lent que les accès mémoire). Cela ne sert donc pas à grand chose d'avoir trop de swap dans ce cas. Pour le traitement de la mémoire et du swap, il y a essentiellment deux écoles : 1a - tout ce qui est en mémoire a sa place dans le swap ; 1b - le swap est seulement une extension de la mémoire. On peut ajouter deux traitements possibles par l'OS des demandes d'allocation mémoire par les programmes : 1b - l'OS réserve ce qui est demandé, et s'il ne peut pas (au moment de la demande), il dit « non, y'a plus » ; 2b - l'OS dit oui (à condition du moins que ce soit théoriquement possible), en partant du principe que la demande globale par tous les programmes varie dans le temps, et que d'ici que le programme particulier qui a fait la demande ait vraiment besoin de la mémoire, les choses peuvent évoluer (d'autres programmes, ont pu rendre la mémoire qu'ils avaient demandée, ils ont pu finir, l'administrateur a pu ajouter du swap...). Je n'ai pas vérifié, mais il me semble que Linux est dans la catégorie (1b, 2b). Si mes souvenirs sont exacts, Domain OS (sur Apollo [pas sûr du nombre de p et de l : le nom de ma grand-mère interfère toujours avec le nom de ces machines dans mon esprit]) est dans la même catégorie ; SunOS 4 est dans (1a, 1b). (1b, 2b) est ce qu'il y a de moins pratique pour le programmeur d'application (il ne peut être sûr qu'une allocation mémoire a réussi), mais le plus souple pour l'administrateur de la machine : il peut ajouter le swap dès qu'il voit que l'existant ne va pas suffire (et, de fait, je me souviens avoir pu faire ainsi à plusieurs reprises : « oh putaingue, le swap se remplit ! Ajoutons un fichier de 50 Mégas ! » ; l'oreille peut aider en de tels cas : ça gratte sec !). Donc la règle swap == RAM est sans doute dérivée de la règle pifométrique ancienne swap == 2 * RAM, qui part du principe que quand tu as swappé l'équivalent de ta RAM, le système devient tellement lent que le temps que tu obtiennes le résultat de ton programme, tu auras pu faire valoir tes droits à la retraite ; mieux vaut arrêter les frais tout de suite. Perso, comme je fais souvent tourner des programmes batch, j'ai pris swap == 2 * RAM à la maison (et j'ai acheté de la RAM pour le boulot...). > ??? C'est vrai que netscape (fourni avec la RH 5.1) est très bogué... J'ai Netscape 4.5. Je trouve qu'il plante peu. Mais par contre je le trouve excessivement vorace en mémoire et en CPU (P90, 32 MO sur zapata). > Que se passe-t-il "normalement" lorsque l'on dépasse la quantité > ram+swap. Est-ce que le plantage de l'application qui réclame la > mémoire est une voie normale de résolution du problème ??? Cela dépend de la manière dont elle est codée (surprise !). Normalement, cela devrait se passer ainsi. Mais je me souviens avoir codé des applications qui résistaient à cela proportionnellement au temps CPU qu'elles avaient déjà dépensé Mais c'était sur SunOS4 ; je ne suis pas sûr qu'avec Linux cela se passe ainsi. > Pourquoi sous Linux, la taille du swap est fixe (meme en utilisant > un fichier au lieu d'une partition) ??? Quel en est l'avantage par > rapport à un swap qui peut voir sa taille varier (tant qu'il reste de la > place sur le HD of course). C'est normalement plus rapide d'avoir une partition de swap (ou même d'avoir un fichier de swap fixe). Ceci dit, je trouve que c'est une bonne idée de permettre l'augmentation dynamique du swap si l'administrateur le demande (ce qui ne me semble raisonnable que sur station individuelle, pas sur machine multi-utilisateur). Il n'y a plus qu'à trouver quelqu'un de motivé pour le coder. -- Marc Thirion | Toulouse, France Un Travail pour Chacun : http://www.multimania.com/untravailchacun/ Marc.Thirion@ISOscope.com : http://www.ISOscope.com/Pérennité des logiciels et des systèmes _______________________________________________________________________ Le CULTe sur le ouebe: http://savage.iut-blagnac.fr/