L'utilisation de la RAM
Mac OS X aime la RAM. La recommandation officielle est un minimum de 128 Mo de RAM. Certains vous diront que vous pouvez faire avec 64 Mo si vous n'utilisez pas classique, et c'est possible. Je parie que vous pouvez même démarrer OS X avec 32 Mo si vous êtes suffisamment obstiné. Mais simplement "démarrer" est très loin d'"utiliser".
Règle de sécurité numéro 1 de l'utilisation d'un ordinateur : ne jamais utiliser de logiciel avec "le système minimum requis" marqué sur la boite. Bien sûr, l'infrastructure de mémoire virtuelle est très robuste, mais vous ne pouvez pas faire de miracle. En écrivant ceci, je fais tourner le Finder, iTunes, les Préférences Système, et DragThing, plus IE et BBEdit dans l'environnement classique. Voici un aperçu du résultat de la command (Unix) top :
Observez la cinquième ligne : 253 M utilisés, 3,25 M libre. La mémoire physique est pratiquement saturée sur un système de 256 Mo pour lequel ce serait une charge plutôt légère sous Mac OS 9. Mais notez qu'à ce point, rien n'a été paginé, et que seulement 25,5 Mo est "wired" (RAM câblée, ce qui signifie que ça ne peut pas être paginé, principalement de la mémoire associée au noyau). Maintenant, je vais lancer les applications suivantes : Sherlock, Mail, OmniWeb, Aperçu, TextEdit, iCab, Utilitaire de réseau, et Utilitaire de disque, plus Word et Photoshop sous classique. Voyons comment les valeurs changent :
La première chose à noter est que la quantité de RAM disponible est à peu près restée la même (en fait, une petite augmentation). Mac OS X est apparemment déterminé à conserver une petite cagnote de mémoire libre. Mais voyez les autres spécifications : 2648 pageouts (pages en sortie). La RAM câblée a légèrement augmenté, sans doute à cause d'un usage supplémentaire de ressources par le noyau à cause des nouvelles applications qui ont été lancées.
Mais ces valeurs ne révèlent qu'une partie des choses. Pendant que tout cela fonctionne, je suis en train de taper sous BBEdit sans ralentissement apparent. iTunes ne s'est pas esquivé. Je peux passer d'une application à une autre et l'utiliser sans sursauts gênants. Mais les murs sont toujours là. Pour s'en rendre compte, lançons le reste des applications...
Et par "le reste", je veux dire toutes les applications qui viennent avec Mac OS X (à l'exclusion de celles du CD pour développeurs), plus quelques applications tierces bien connues. Pendant la séquence de lancement (simultanée), iTunes a bégayé de temps en temps, et j'ai été bloqué sous BBEdit parce qu'à chaque fois que je cliquais sur une fenêtre pour l'éditer, une autre application se lançait par devant. Mais c'est maintenant convenable, et ma palette de choix des applications (des tuiles 16 x 16 à droite de l'écran, fournies par DragThing) s'affiche en bas de mon moniteur. Le Dock est aussi réduit
Mac OS X en train de faire tourner beaucoup, beaucoup d'applications.
Le Dock réduit en bas, et la palette de l'application DragThing en bas à droite.
Top affiche les choses suivantes :
Pour résumer, plus de pageouts, de RAM libre et câblée. Ce que cela montre, c'est l'apathie de l'ensemble du système. BBEdit répond bien, et iTunes ne bégaie plus après la séquence de lancement, mais si je bascule sur une autre application et cherche à l'utiliser, cela prend un certain temps avant que la page correspondante puisse s'afficher, et entre temps, le système est lent et sans réponse.
Alors, qu'a montré ce petit exercice masochiste ? Et bien, il montre que le système de mémoire virtuelle (MV) de Mac OS X écrase celui de Mac OS 9 (ce à quoi on pouvait s'attendre). Mac OS 9, avec des réglages par défaut de la MV pour un système de 256 Mo n'est pas capable de faire tourner un complément d'application comme celui-ci. Il manque de mémoire après que les applications ont (statiquement) alloué toute la RAM disponible. Mais Mac OS 9 pourrait être aussi beaucoup plus réactif du fait qu'il ne peut pas supporter la charge : il conserve plus de choses en mémoire physique, et moins sur le disque. Bien sûr, il y a beaucoup d'avantages importants au système de mémoire virtuelle "réel" installé dans OS X comparativement à l'implémentation bricolée d'OS 9, mais la conséquence est que Mac OS X fournit aux utilisateurs assez de corde pour se pendre.
Mac OS X ne se plaint pas s'il vient à manquer de RAM. Il va béatement et consciencieusement paginer sur le disque, paginer, paginer, encore paginer. Evidemment, la plupart des utilisateurs normaux ne sont pas susceptibles de lancer tant d'applications à la fois, mais imaginez seulement un système avec la moitié de RAM, une machine avec le minimum requis de 128 Mo. Il ne sera pas difficile de l'amener à des limites semblables, seulement avec une charge "normale" d'applications.
Nous en revenons donc à notre règle : ne jamais lancer de logiciels sur un système avec le "minimum requis" tel qu'il est marqué sur la boite. Je ne ferai certainement rien d'autre que des tâches banales d'email, de web et de traitement de texte sur un système Mac OS X de 128 Mo, mais pour ces tâches, il aura tout juste assez pour ne pas subir une dégradation de performance déraisonnable.
C'est à coup sûr un changement psychologique pour les utilisateurs de Macs qui sont habitués à voir leur OS se plaindre du manque de RAM bien avant que les performances ne se dégradent à des niveaux rencontrés ci-dessus. Mac OS X devrait bénéficier d'une certaine forme (optionnelle) d'avertissement sur les limites des ressource recommandée, pour faciliter la transition.