QU'EST-CE QUI A CHANGÉ PAR RAPPORT À MAC OS 9 ?

1. Une gestion dynamique de la mémoire : Sous Mac OS 9 (et systèmes antérieurs) l'allocation de la mémoire se faisait de manière "manuelle", et c'était donc vous même qui deviez attribuer (sauf pour le Finder*) une quantité de mémoire à toutes vos applications. Ainsi, si vous aviez, par exemple, alloué 25 Mo de mémoire vive à "Appleworks", cette application monopolisait dès son lancement ces 25 Mo de mémoire vive, même si au début de l'utilisation ponctuelle de cette application, 15 Mo aurait été suffisants. Ce système avait deux inconvénients majeurs : Primo il y avait bien sûr du gâchis de RAM, car l'application n'avait pas forcément constemment besoin de tant de RAM pour fonctionner, mais secondo, vous étiez tout de même obligé d'allouer suffisamment de mémoire à vos applications, sinon vous pouviez obtenir un message d'erreur vous indiquant qu'il n'y avait pas assez de mémoire pour telle ou telle opération en cours !!! Bref, il fallait trouver la bonne quantité ! On était certes aidé en partie, par la mention chiffrée "Mémoire maximum conseillée" apparaissant dans la fenêtre d'informations de chaque application, mais on en allouait toujours un peu plus pour être tranquille...

  • (On pouvait modifier l'allocation de mémoire vive du Finder grâce à "ResEdit")

Sous Mac OS X, la mémoire est gérée de manière totalement dynamique. Plus besoin de se casser la tête pour savoir combien de RAM allouer à telle ou telle application (de toute façon vous ne pouvez plus le faire), car c'est le système lui même qui se charge d'attribuer, au moment "T" la quantité adaptée de mémoire à telle ou telle application en activité. De ce fait, une application ne peut plus être à cours de mémoire, et OS X ne gâche plus cette mémoire en en affectant trop à une application ou à une autre. Si plusieurs applications sont actives au même moment, OS X sait parfaitement gérer cette situation en allouant la juste quantité de mémoire qu'il faut pour chacune d'entre elles !

2. OS X fonctionne avec de la mémoire virtuelle qu'on ne peut désactiver : Sous Mac OS 9 et précédents, on pouvait activer/désactiver la mémoire virtuelle grâce au Tableau de Bord "Mémoire". Si on avait peu de mémoire vive installée sur son ordinateur, on pouvait activer cette mémoire virtuelle, ce qui permettait au système d'en user moins, grâce à l'utilisation, en complément, d'un espace plus ou moins grand du disque dur comme une mémoire virtuelle. L'avantage était de pouvoir ouvrir plus d'applications avec moins de RAM. L'inconvénient, c'était que le système était plus lent. Au contraire, une utilisation avec la mémoire virtuelle désactivée était synonyme de rapidité et de vélocité.

Sous Mac OS X, la mémoire virtuelle est constamment en activité, car le système Unix d'OS X est basé sur la mise en oeuvre et la gestion rationnelles de cette mémoire virtuelle. Toutefois, la mémoire virtuelle sous OS X n'a rien à voir avec la mémoire virtuelle sous OS 9. Le processus sous OS X est bien plus complexe que le seul emploi d'un simple espace du disque dur. C'est ce que je vous propose de découvrir sur cette page.

3. Il n'y a plus de fragmentation de la RAM sous OS X : Sous OS 9 et les systèmes antérieurs, on était confronté au problème du morcellement de la RAM. Je m'explique : Admettons, par exemple, qu'au démarrage de son ordinateur, sous OS 9, on dispose d'un bloc de mémoire disponible maximum de 40 Mo. On lance ensuite trois applications : tout d'abord "A", puis "B", et enfin "C". On avait préalablement alloué 10 Mo à l'application "A", 10 à l'application "B" et 20 à l'application "C". Une fois ces trois applications ouvertes, il n'était bien entendu plus possible d'en ouvrir d'autres. Admettons qu'on veuille ensuite ouvrir une application "D", à laquelle on avait attribuer 30 Mo de RAM. Comment faire ? Il est donc indispensable de fermer deux applications afin de "récupérer" 30 Mo de mémoire disponible. Si on ferme les applications "A" et "C", on récupère bien 30 Mo de mémoire, mais on ne pourra pas pour autant lancer l'application "D", car en réalité on aura deux blocs de mémoire distincts (un de 10 et un de 20) et non un bloc de 30 Mo. La mémoire disponible est morcellée ! Et de ce fait, plus on ouvrait et on fermait les applications sous OS 9, plus cette mémoire disponible était fractionnée et il fallait alors redémarrer l'ordinateur pour avoir à nouveau un bloc d'un seul tenant.

Sous OS X la mémoire ne se fragmente plus. OS X gère la mémoire de manière totalement différente et beaucoup plus intelligemment. On ne risque plus d'être confronté à ce type de situation, et c'est très bien ainsi. Vous pouvez donc ouvrir et fermer vos applications comme bon vous semble sans vous soucier d'un éventuel morcellement de la mémoire vive !

4. La mémoire est protégée sous MAC OS X : L'un des principaux avantages de Mac OS X, comme de tout système UNIX, réside dans l'emploi, par les applications d'une mémoire protégée. C'est-à-dire que la mémoire vive est distribuée par OS X aux applications de manière à ne pas "planter" toutes les applications en cas de panne de l'une d'elles. Fini les redémarrages intempestifs comme sous OS 9 ! Désormais, lorsqu'une application est défaillante, il suffit de la quitter ou de la "forcer à quitter", et le système lui, n'est en rien affecté ! Là encore, il s'agit d'un réel progrès.

Bien ! Ceci déjà précisé, nous allons maintenant examiner comment OS X gère la mémoire vive, et comment surtout fonctionne la mémoire virtuelle sous le nouvel OS d'Apple. Vous êtes prêts ? Attachez vos ceintures... C'est parti !

COMMENT EST GÉRÉE LA MÉMOIRE VIVE SOUS OS X ?

Pour mieux comprendre les choses et comme un dessin vaut mieux qu'un long laïus, je vous propose de faire une petite expérience toute simple, celle-ci vous permettra de voir si vous avez suffisamment de RAM sur votre ordinateur :

Après avoir travaillé un certain temps (une heure ou deux) sur votre ordinateur avec des applications habituelles (ouvrez et travaillez par exemple avec "Internet Explorer", "Mail", "AppleWorks", "Aperçu" et "TextEdit"), ainsi qu'après avoir ouvert, fermé et réouvert un certain nombre d'applications, maintenez en quelques unes ouvertes (5 ou 6), puis... ...Ouvrez le fameux "Terminal". Tapez y la ligne de commande "top" (sans les guillemets) et appuyez sur la touche "Envoi" (la flêche qui fait demi-tour) pour valider cette commande.

Vous obtenez cette fenêtre :

Figure 1

Regardez la cinquième et la sixième lignes en partant du haut. Vous obtenez des indications intéressantes sur l'utilisation de la mémoire vive sous Mac OS X (Ces chiffres seront différents chez vous bien entendu) :

PhysMem: 46.8M wired, 77.8M active, 324M inactive, 448M used, 63,9M free

Que celà signifie t-il ? "PhysMem" (pour mémoire physique) détaille comment se répartit la mémoire vive que vous avez installé sur votre ordinateur. J'ai pour ma part 512 Mo de mémoire vive, et celle-ci se répartit, au moment de cette capture d'écran (figure1) comme suit : - 77,8 Mo active (mémoire actuellement en activité) - 46,8 Mo wired (portion de mémoire vive "bloquée" par le système pour son utilisation propre) - 63,9 Mo free (mémoire vive libre et disponible) - 324 Mo inactive (il s'agit là de mémoire vive qui a déjà été utilisée depuis l'ouverture de l'ordinateur, qui a donc déjà été allouée par le système OS X à telle ou telle application pour telle ou telle opération passée, mais qui n'est cependant plus en activité actuellement, et ce depuis un certain temps plus ou moins variable... Ça va ? vous suivez ?) - 448 Mo used (Mémoire utilisée. C'est le total d'"active" + "wired" + "inactive")

7266(0) pageins 0(0) pageouts

Il s'agit là d'indications sur l'utilisation de la mémoire virtuelle : L'important ici est d'examiner le chiffre de "pageouts". Nous nous attarderons pas à la notion de "pageins", qui concerne également la mise en oeuvre de la mémoire vive et virtuelle sous OS X, mais qui est nettement moins révélateur que celle de "pageouts". "Pageins" et "pageouts" sont les deux composantes du processus de gestion de la mémoire sous OS X.

Qu'est ce que ces "pageouts" ? La valeur mentionnée (ici "0") indique la quantité de mémoire vive artificielle (virtuelle) qui a été en quelque sorte "constituée" sur votre disque dur, dans le fichier "swapfile0" (vous vous rappelez ?) en complément de votre RAM physique. Une "page" équivaut à 4096 octets. Autrement dit, si vous ne disposez pas d'assez de RAM, le système OS X est obligé de recourir à une portion de votre disque dur (le fichier swapfile0) pour s'en servir comme un complément de RAM (Dans ce cas il "pagine" à l'extérieur ("out") en plus de "paginer" à l'intérieur ("in"). Si le chiffre est de 0 ou peu élevé, celà signifie que vous disposez de suffisamment de RAM physique. Si le chiffre de "pageouts" est élevé, c'est que le système "swappe" beaucoup trop, et qu'il faudrait mieux que vous installiez de la RAM supplémentaire !

Le "swap" du système est tout à fait normal et peut se produire même si vous avez beaucoup de mémoire vive installée sur votre MAC. Si, par exemple, vous lancez beaucoup d'applications "gourmandes " en même temps, et/ou que vous effectuez des opérations telles l'application de filtres sous Photoshop ou des traitements d'image 3D, où bien tout simplement, grâce au "multitâche" d'OS X, si vous utilisez plusieurs logiciels en même temps, il est clair que le système va "swapper", et parfois même, le fichier "swapfile0" ne suffira pas ! OS X créera alors automatiquement d'autres fichiers "swap" (swapfile1, swapfile2, swapfile3 etc...); Mais une fois revenu à une utilisation moins soutenue de votre MAC, et/ou si certaines applications sont fermées, alors OS X supprimera automatiquement ces fichiers swap supplémentaires, pour ne garder que le fichier "swapfile0" minimum. Le "swap" est normal sous OS X, mais trop de "swap" n'est pas bon ! Celà ne doit être qu'une roue de secours temporaire et ponctuelle, pas la règle ! Là aussi, OS X lance le "swap" quand il juge celà indispensable et DOIT POUVOIR l'arrêter quand celà ne l'est plus ! Si vous n'avez pas assez de RAM, vous allez donc "swapper" en permanence, et OS X sera d'une lenteur affligeante.

Par ailleurs, on peut de ce fait mieux comprendre alors l'intérêt éventuel de délocaliser le fichier "swapfile0" sur une autre partition entièrement dédiée au "swap" de Mac OS X, si on possède peu de RAM sur son ordinateur, même si depuis l'arrivée de JAGUAR, puis de PANTHER et TIGER (qui sont des systèmes nettement plus véloces, réactifs et selon certains témoignages gèreraient nettement mieux la mémoire virtuelle que PUMA 10.1), l'utilité de faire cette opération de délocalisation semble nettement moins utile à présent et réservée uniquement à ceux qui ne possédent que peu de RAM dans leur ordinateur (128 Mo) :

- Le fichier "swapfile0" ne se fragmente pas, et OS X n'est pas obligé d'aller en cueillir les fragments aux quatre coins de votre disque dur. - Si des fichiers de "swap" complémentaires (swapfile1, swapfile2 etc...) se créent, ceux-ci seront créés "juste à côté" du fichier "swapfile0". OS X ne sera pas obligé, là non plus, de swapper aux quatres coins de votre disque dur. Il est en effet très important que les différents fichiers "swapfile" soient contigus, et non imbriqués dans d'autres fichiers installés sur votre disque dur, car OS X perdrait du temps à les rechercher. - Le fait d'augmenter la taille par défaut du fichier "swapfile0" permet de gagner encore en efficacité, puisqu'un et seul fichier de 128 Mo est mieux que deux fichiers de 76 Mo, même contigus.

Quittez le "Terminal" en appuyant sur "ctrl"+"C", puis en le refermant (bouton rouge de sa fenêtre).

 

Comment OS X "swappe" ?

Bonne question ! Comment ça marche ce processus de "swap" ?

Nous l'avons vu, OS X comment à "swapper" lorsque les ressources en mémoire vive "fraîches" sont insuffisantes, et qu'il convient donc de recourir au fichier "swapfile0", donc au disque dur. Pour celà, OS X va puiser dans la réserve de mémoire inactive mais déjà précédemment allouée ("inactive" - Voir plus haut). Ces "pages" inactives sont alors copiées temporairement sur le(s) fichier(s) swapfile0,1,2 etc... afin de faire de la place pour les "pages" actives ("active" - Voir plus haut) qui elles, sont alors copiées en retour depuis le(s) fichier(s) swapfile0,1,2 etc... vers la mémoire physique... CQFD !

Je vois que je n'ai que 63,9 Mo de mémoire disponible (69,3M free) : Puis-je encore ouvrir beaucoup d'applications ?

Et bien oui ! Je vous le répète, nous ne sommes plus sous OS 9, mais sous OS X ! Le système gère la mémoire de manière dynamique, et de ce fait, même si en apparence vous n'avez que peu de mémoire vive disponible, vous pouvez encore ouvrir un tas d'applications.

En réalité, OS X semble utiliser le "capital" mémoire dans son intégralité. Ne soyez donc pas effrayé de voir, dans le "Terminal" (voir figure 1 plus haut) qu'il ne vous reste que peu de mémoire disponible, car de toute façon, celà est normal après quelques heures ou minutes d'utilisation de votre ordinateur : Que vous ayez 128 Mo ou 1 Go de RAM d'installé sur votre ordinateur, OS X finira toujours par s'emparer de ce capital pour le gérer à sa guise et le distribuer généreusement aux différentes applications ouvertes. Mac OS X semble toujours s'accomoder de la mémoire dont il dispose. Toutefois, il est évident qu'avec 1 Go de RAM physique, OS X pourra en allouer dynamiquement d'avantage à chacune de vos applications ouvertes que s'il n'en disposait que de 128.

Faites un petit test : Utilisez la petite application "Memory Usage Getter" - "MUG" (voir lien en bas de page pour le téléchargement), qui permet de voir combien de RAM physique est allouée à vos différentes applications. Lancez cette application, vous obtenez cette fenêtre (NB : Cette capture d'écran avait été réalisée avec une précédente version de "Memory Usage Getter", ne vous étonnez donc pas si votre fenêtre de "MUG" est un peu différente) :

- Figure 2

Cette application vous donne à l'instant "T" une photographie parfaite de l'utilisation de la mémoire vive physique sous OS X. Le premier onglet liste les applications ouvertes et leur allocation en RAM effectuée par OS X, alors que les deux autres onglets concernent l'allocation en RAM pour les processus du système.

Intéressons nous uniquement aux applications. En cliquant régulièrement sur le bouton "Refresh", vous mettez à jour cette fenêtre, qui indiquent alors de nouvelles valeurs. Vous constaterez que ces nouvelles valeurs fluctuent en fonction de la quantité de mémoire vive nécessitée par l'utilisation respective de chacune des applications ouvertes.

Comme vous le constatez, lors de cette capture d'écran, à 22 h 38 mn 45 sec, je disposais à nouveau de 110,02 Mo de mémoire vive "free" (disponible), car j'avais quitté une ou deux applications entre temps, et de ce fait ma mémoire "free" est passée de 69,3 Mo à 110,02 ! (La mémoire ne se morcelle plus). Mais là n'est pas le plus important...

Je me suis en effet "amusé" à ouvrir un tas d'applications, pour voir justement comment allait "fondre au soleil" ces 110,02 Mo de mémoire disponible. Certes, lors des premières ouvertures d'applications qui s'en sont suivies, le montant a rapidement chuté, pour arriver aux alentours de 6 Mo de disponible seulement au moment où j'ouvrais ma 20ième application (tout de même). Mais, et là ce fut une parfaite démonstration du caractère intelligent de Mac OS X et de sa manière totalement différente de gérer la mémoire vive, j'ai pu constater un curieux phénomène :

Alors que sous OS 9, je n'aurais déjà, depuis belle lurette, plus eu la possibilité d'ouvrir la moindre application, et bien sous OS X j'ai pu continuer à en ouvrir d'autres... Je me suis arrêté à 35 applications ouvertes (j'aurais pu sans doute même continuer, mais la démonstration était suffisamment convaincante à ce stade). Et, encore plus surprenant, une fois que j'avais atteint ce chiffre de 6 Mo de mémoire "free", et bien non seulement j'ai encore pu ouvrir une quinzaine d'applications, mais en plus le chiffre de mémoire "free" est même remonté à 15 Mo !!! Incroyable non ?! Celà prouve bien la gestion dynamique de la mémoire vive sous Mac OS X ! Ce phénomène s'explique bien entendu par le fait que le système avait alors commencé à "swapper", libérant ainsi de la mémoire disponible ! Je n'ai cependant ressenti aucun ralentissement notoire.

Toutefois, il est évident qu'avec 35 applications ouvertes, le risque de "swapper" fort est nettement accru, surtout si l'on utilise effectivement ces 35 applications pour des tâches gourmandes en RAM. OS X alloue, dans cette hypothèse, nettement moins de mémoire à chacune des applications ouvertes, sans pour autant toutefois en interdire le fonctionnement... Quel progrès par rapport à OS 9 !

Un Finder Gourmand ?

Oui, en effet vous allez sans doute vous rendre compte que le Finder peut, dans certaines conditions, devenir très "mémorivore". Si vous regardez la figure 2 (plus haut), le Finder ne "consomme" que 39,93 Mo de RAM. Ce chiffre n'est pas élevé, et jusqu'à 50 ou même 60 Mo, on peut considérer que ce chiffre est acceptable. Toutefois, si par exemple, vous ouvrez des dossiers, situés sur votre disque dur, et qui contiennent des centaines de fichiers, notamment des photos, des cliparts ou des images, et bien vous constaterez que la mémoire allouée au Finder peut enfler jusqu'à 100, voire 150 Mo ! En effet, les informations relatives à l'ouverture de ces gros dossiers et de leurs contenus sont alors "mémorisées", et de ce fait le besoin en RAM s'avère plus important.

C'est d'ailleurs pour cette raison, que Mac OS X semble réagir plus vite après quelques minutes d'utilisation : Après le démarrage de votre ordinateur sous Mac OS X, lorsque vous ouvrez pour la première fois une fenêtre ou un menu, il y a comme un "petit délai", une sorte de "lenteur", qui, par la suite, lorsque vous ré-ouvrez ce menu ou cette fenêtre ne semble plus exister. Ces opérations on en effet été mémorisées...

Pour éviter un enflement inacceptable et inutile du Finder, mieux vaut éviter d'ouvrir ce type de dossier si l'on y recherche une photo, une image ou un dessin. Utilisez plutôt des applications qui vont vous cataloguer ce type de fichier et vous permettront une recherche plus aisée. Vous pouvez utiliser des applications comme "iPhoto", "iViewMediaPro" ou "Tri-Catalog"...

Enfin, si vous souhaitez ramener le Finder à une taille plus acceptable, et ainsi recouvrer une bonne partie de RAM disponible, il vous suffit de relancer le Finder en le forçant à quitter (Appuyez simultanément sur les touches "alt"+"pomme"+"esc").

 

 

CONCLUSION :

Si tout ceci vous parait bien abstrait et un peu rébarbatif, voici les quelques conseils simples et judicieux que l'on peut en déduire, pour une utilisation optimisée de votre capital de mémoire vive sous OS X :

1. Il faut à tout prix ajouter de la RAM à votre ordinateur. Les 256 Mo minimum préconisés par Apple ne sont vraiment que le strict minimum pour faire tourner OS X TIGER. Le minimum vital pour travailler dans de bonnes conditions est de doubler, voire tripler ce chiffre : 512 Mo ou 768 Mo. Et pour une utilisation confortable au quotidien, optez pour 1 Go ! Ce chiffre est vraiment l'idéal pour la grande majorité des utilisateurs Mac, qui n'ont pour activités principales que le surf sur Internet, les emails, le traitement de texte, le MP3 et les traitements basiques des fichiers vidéo et photo, ou l'emploi de filtres Photoshop de manière très ponctuelle, la gravure, le scannage etc... Avec ces 1 Go, vous serez tranquille ! Par contre, si vous faites plutôt une utilisation professionnelle de votre Mac (PAO, traitement 3D, utilisation au quotidien de Filtres photoshop etc...) alors mieux vaut aller jusqu'à 2 Go, voire plus de RAM (n'oubliez pas que TIGER est les G5 sont gourmands en RAM). 2. Faut-il laisser ses applications ouvertes sous OS X ? Ou faut-il les refermer ? Là je ferai une réponse de Normand : Oui et non. Tout est dans la mesure et autant être raisonnable. Si vous avez suffisamment de RAM et si vous comptez uniquement aller sur le Net, faire du traitement de texte, écouter de la musique, et que vous comptez graver un CD, il n'y a là aucun problème, vous pouvez laisser toutes vos applications ouvertes, et n'êtes pas obligé de les refermer... Une application ouverte, mais qui n'est pas en activité ne consomme quasimment pas, ou même pas du tout de puissance processeur (CPU)... Donc pourquoi les refermer ? d'autant plus qu'avec 1 Go de RAM, OS X saura parfaitement gérer ces 6 ou 7 applications, même si elles "travaillent" en même temps.... Nous ne sommes plus sous OS 9. Par contre, si vous avez peu de RAM (256 Mo) ou si vous avez décidé de vous lancer dans de lourds travaux de traitements photographiques, il n'est pas inutile de quitter quelques applications, voire même de relancer le Finder, si vraiment vous n'avez pas envie de voir OS X swapper... Mais là encore, celà dépend de votre appréciation personnelle, car si le "swapping" d' OS X ne vous dérange pas outre mesure, vous pouvez très bien laisser toutes vos applications ouvertes... Une fois vos traitements photos réalisés, OS X arrêtera de "swapper"... Par contre, évitez tout de même d'ouvrir 30 ou 40 applications en même temps, à moins que le "swapping" vous plaise à ce point... Selon certaines études sur les systèmes UNIX (vues sur Internet), on considère que sous OS X, en ayant 1 Go de RAM, on peut sans problème laisser entre 10 et 15 applications "standard" ouvertes, sans que les performances système ne s'en ressentent de manière significative. Certes OS X aura recours au "swap", mais de manière acceptable... Et sans répercussion significative... Vous voilà prévenu ! Maintenant si vous préférez tout de même fermer une application après l'avoir utilisé, quitte à la ré-ouvrir par la suite (il est parfois difficile de perdre ses bonnes habitudes d'OS 9), sachez que celà ne pose aucun problème ! La mémoire, sous OS X, ne sera jamais morcelée, et en plus les applications se lancent plus vite à partir de la seconde fois ! NB : Par application "standard", on doit exclure des applications très gourmandes en RAM comme "Photoshop" ou "Painter". 3. Pour celles et ceux qui n'éteignent jamais, ou rarement leur ordinateur, sachez toutefois qu'à chaque redémarrage, OS X va créer un tout nouveau fichier "swapfile0". Dans ce cas, il est judicieux de redémarrer tout de même de temps en temps votre ordinateur pour qu'un fichier "swapfile0" tout beau, tout neuf se créé.