pageins/pageouts

cyro

Membre confirmé
7 Mars 2001
69
0
72
escarton-oulx.eu
Quand peut-on considérerer qu'il y'a trop de pageouts (par rapport aux pageins) et qu'il vaut donc mieux redémarrer plustôt que de laisser pédaler notre machine dans la choucroute?
 
Pfff. c'est pas simple.
Fais un vm_stat dans ton terminal. Tu vas voir la configuration de ta mémoire dans un instant T.
Tu vois que la mémoire est répartie en plusieurs catégories.
pages wired down sont des pages qui ne peuvent être swappées. Elles contiennent des ressources accessibles à toutes les applications. C'est une première reamrque essentielle : le système ne pagine pas ses propres ressources, il ne pagine que les ressources des applications.
Quant ta machine "pédale", c'est en fait les applications qui pédalent, sauf si ta configuration mémoire est dramatiquement faible (genre 256 Mo).
Maintenant regardes tes pages free. Si il en reste moins que de pageout créées dans les dernières minutes, ta mémoire est effectivement en train de s'asphyxier, sauf... si tu travailles avec un bi-processeur. Là, les choses fonctionnent différemment.
En fait, l'important est le rythme auquel tes pageout sont créées. Leur vitesse de croissance est plus importante que leur nombre, en regard du nombre de pagein.
Il y avait un utilitaire pour ça, mais je ne le trouve plus. Je m'en vais le rechercher.

Je ne sais pas si j'ai vraiment répondu à ta question, parce que ce champ là de l'OSX n'est pas simple. La seule chose que je sais avec certitude, c'est que la RAM physique est la solution absolue à tous les problèmes de ram virtuelle...

Attends que ça baisse, le prix des barettes est cyclique.
 
Tu as précisé des choses qui sont loin d'être négligeables quand on travaille avec beaucoup d'applications. Et quoique l'on dise dans certains forums, OS X s'asphyxie certaines fois et même sur un G4 avec 512 Mo je reboot ts ls 15 jours ou toutes les semaines pour ne pas avoir ce problème.
 
jeanlefort2 : pour faire simple, les pagein sont crées "à l'intérieur" de ta RAM physique, les pageout "à l'extérieur", c'est à dire sur les partitions de mémoire virtuelle, ou paginée, créées par l'OS (les fameux fichiers swap).
avoir 0 pageout est un truc super...

cyro : c'est vrai que l'OSX peut "s'asphyxier", même si les problèmes sont moindres depuis la 10.1.3. Reste que l'environnement TrueBlue (Classic), pompe encore beaucoup de pageout. Lorsque mon G4DP533 était en 512, j'avais un nombre de pageout assez important, sans néanmoins que ça n'influe sur mes performances. Je rebootais cependant 2 à 3 fois par mois, notamment parce que les installl/désinstall incessantes des applis beta faisait que je ressentais le besoin de remettre tout à jour (forcer un update_prebinding n'est, par exemple, vraiment efficace que si tu rebootes). Ca me permettait de repartir à 0 sur la swap. Ceci dit, le bipro faisait que je créais néanmoins peu de fichiers swap (jamais plus de trois), et que l'incidence sur les performances était infime.
Le passage en 1,1 Go de ram a bien sur considérablement fait baissé mes pageout, mais je créais encore 2 swap couramment. Depuis que je n'utilises plus classic (ou si peu), plus de swap, et il faut que j'envoie le bois sur 8-10 applis en même temps pour paginer. Je ne reboote quasiment plus. Mais je suis loin de tout savoir encore sur la machine-mémoire. La commande man m'a permis de comprendre pas mal de choses. En tout cas de savoir où chercher.
 
oh! je rajoute une chose qui n'est pas sans importance.

sans rentrer dans des détails techniques que je ne maîtrise pas suffisamment pour les décrire clairement, l'affichage, et plus généralement ce qu'on appelle le window server, sollicite beaucoup la mémoire, et peut contribuer à un nombre de pageout important. Pour aller très vite, l'affichage 32 bit est rendu possible par le fait que chaque pixel affiché est théoriquement stocké dans la mémoire vive.
Jusqu'à la 10.1., OSX ne savait pas compresser cet espace. Depuis, il peut le faire, mais cette fonction est désactivée par défaut. Sur certaines machines, la 10.1.3 (ou la 10.1.2., je ne sais plus) ont activé par défaut la fonction window buffer compression, mais pas sur toutes.

On peut voir la mémoire utilisée par chaque fenêtre ouverte (ou potentiellement ouverte) avec l'application Quartz Debug (il faut avoir les Dev Tools). En lançant Quartz Debug, puis "show window list", on voit l'espace mémoire pris par chaque fenêtre. Si un "c" figure entre les chiffres dans la colonne kbytes, c'est que la compression est activée.
Un moyen simple de s'assurer de ça, tout en activant la compression au cas où, est d'utiliser le shareware MOX Optimize, qui supporte cette fonction.
Cela réduit considérablement les problèmes dans les utilisations intensives.

C'est l'une des avancées de la future 10.2. de permettre au window server d'utiliser la mémoire vidéo dans certains cas. L'accélération devrait être flagrante, et les problèmes de paginations mémoire réduits d'autant. En attendant, il faut s'assurer que la fonction est bien activée.
 
Merçi de tous ces commentaires, je confirme que c'est classic qui génère essentiellement ce problème et particulièrement quand on travaille beaucoup avec des logiciels comme Adobe Photoshop ou PhotoDeluxe. Après un certain nombre d'images traitées il vaut mieux rebooter avant de trouver sur le marché un Adobe PhotoDeluxe pour OS X, le Photoshop n'étant pas tout à fait dans mes moyens.
 
avec quel photoshop travailles-tu ?
La MAJ est gratuite pur certaines versions.

Pour le reste, et pour finir avec la window buffer compression, Andrew Welch, d'Ambrosia, avait pondu un petit hack qui permettait de miex compresser les fenêtres ouvertes dans Classic. ca marchait très bien. Je ne sais pas quelle est encore l'utilité de ce patch depuis les dernières versions de l'OS. Mais tu peux essayer de l'installer, il ne cause pas de dégats. Il se désinstalle lorsque tu fermes une session.
Ce petit hack est .
 
Deux petits trucs pratiques pour savoir si vous êtes à court de mémoire :


1-Ouvrez une fenetre terminal, tapez :

vm_stat 15

les statistiques sur les pagesin/out vont s'afficher et se mettre à jour toutes les 15sec.
Vous continuer à bosser normalement, et au bout de quelques min. allez voir ce que ca donne dans le terminal : si vous avez régulièrement des pagesout de créées sur plusieurs ligne, et en grande quantité (plusieurs centaines, ou milliers), c'est mauvais signe.


2- Regardez votre nombre de fichier swap.
Pour cela, toujours dans une fenetre terminal fraichement ouverte, tapez :

ls /var/vm | wc -l

le chiffre qui s'affiche vous donne le nombre de fichiers swap. Si vous en avez plus de 3, la aussi c'est mauvais signe !


Si les conditions 1 et 2 se présentent, tentez un logout. Si ca ne s'améliore pas ensuite, faites alors un redémarrage.

Si êtes fréquemment dans cette situation, malgré des redémmarages, c'est qu'il est temps d'acquerrir un peu de RAM supplémentaire !


Pour Jean Lefort : si tu n'as aucunes pageout, et 1 seul fichier swap : tout va bien, petit veinard !
wink.gif
 
cyro : la 5.5, faut pas y compter pour l'upgrade offerte.

Merci BBen d'être plus pédago que moi
wink.gif
 
<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR> Merci BBen d'être plus pédago que moi  <HR></BLOCKQUOTE>


Je t'en prie Rezba !
Mais mon post est juste complémentaire par rapport à tes explications : je file des recettes de cuisine sans les expliquer, mais toi tu expliques un peu plus le fonctionnement.
wink.gif
 
  • J’aime
Réactions: rezba