Swap énorme avec SSD et beaucoup de RAM

Jerome_C

Membre actif
5 Février 2007
825
34
Poissy
Salut za tous

J'utilise avec joie un SSD en FW 800 depuis avant Noël comme disque système principal.

Ça a vraiment amélioré l'utilisation de mon iMac.

Cependant je note une chose qui me perturbe : j'ai 16 Go de RAM, c'est plutôt confortable même si je les mets à rude épreuve (8 cores sur Boinc + une ou deux machines virtuelles + divers trucs et bidules), cependant depuis que je suis sur le SSD je remarque que même s'il reste un bon paquet de mémoire inactive, au lieu de s'en servir il fait monter de plus en plus le swap.

Par exemple maintenant :

Capture%20d%E2%80%99%C3%A9cran%202013-01-13%20%C3%A0%2015.43.48.png


Pourquoi 5,14 Go de fichier swap alors qu'il a 2,56 Go de libre et 4,4 Go inactifs ? (donc "utilisables")

Avec le DD interne le phénomène était beaucoup moins flagrant, j'ai vraiment l'impression que ça se passe depuis le SSD.

Est-ce parce comme il "remarque" que le SSD est plus rapide, finalement "ça ne change pas grand chose" d'avoir beaucoup de swap, puisque l'accès y est plus rapide ?

Avec ma solution FW800 c'est pas si génial car c'est beaucoup moins performant que le SSD interne, justement...

J'ai découvert la commande purge dans le terminal qui flush une partie du cache et libère de la mémoire disponible en réduisant la mémoire inactive, mais c'est manuel, et je me demande si à la longue ça change quelque chose...

Des avis éclairés ?

Merci.
 
Pour arriver à cet état, j'imagine que tu as lancé plein de trucs jusqu'à saturer ta mémoire, d'où swap, puis tu as fermé ces trucs.

Tu as donc de la mémoire inactive, qui devrait pouvoir être utilisé par ce que tu vas ancé ensuite.

Ton swap quant à lui est toujours utilisé, donc non libéré.

Quand les applications qui l'utilisent seront fermées, il sera libéré.

Lance des trucs et vérifie que ces applications viennent bien puiser dans la RAM inactive et ne viennent pas encore grossir ton swap.
C'est bien comme cela que ça fonctionne chez moi.

Je viens de convertir de nombreux trucs, résultats:
capturedcran20130113162.png

Si je lance des applis à présent, elles tapent bien dans les 4,11Go inactifs et n'augmentent pas les 131Mo de swap.

La purge est censé se faire d'elle-même, peut-être pas à la fréquence qui te convient certes.
 
Dernière édition:
Ben ça se passe pas vraiment comme tu dis, de façon "active" j'arrive rarement à saturer réellement la mémoire libre et générer un swap de fou, je pense que le sujet est boinc et les 8 applications scientifiques toujours actives qui peuvent utiliser de quelques Mo à quelques 100aines de Mo chacune, et durer de quelques mn à quelques heures, selon l'application (et je fais du boinc sur pas mal de projets différents), donc en fait "ça va ça vient en permanence" dans le système.

Sauf que j'ai toujours fait ça depuis des années, et là ça devient vraiment caricatural depuis que je suis sur le SSD externe.

Et surtout dans la mesure où il a beaucoup de mémoire inactive et pas mal de mémoire libre, si il a eu une bonne raison de gonfler le swap à un instant T (admettons) pourquoi n'en profite-t-il pas pour dégonfler tout ça ?

Ou ce que tu dis c'est qu'une fois qu'il a logé une appli dans le swap, il est plus capable de la déplacer dans l'espace mémoire libre ou inactif, même si ces derniers redeviennent très important ?

Ou alors c'est ce que fait la purge, et dans ce cas pourquoi j'ai l'impression qu'il le fait pas de lui même (ou si peu souvent) ?
 
Bonsoir,

avec mon SSD en interne ça fait grosso modo comme toi (et 16 GO de ram aussi) fichier 3 à 5 Go de swap...

 
C'est là qu'on voit qu'il y a un bug dans la gestion de la mémoire sur 10.8 (et peut-être déjà sur 10.7).
Il est tout à fait aberrant d'avoir du swap sans nécessité.
Même avec un SSD, le swap est moins rapide que la RAM donc est moins intéressant.

Il y a, dans ce systèmes, certains processus qui amènent à utiliser abusivement le swap. Et quelque chose me dit que le bug s'accentue avec la quantité de RAM.

Pour ceux qui ont des MBA (et peut-être les derniers MBP, à vérifier), il y a aussi une nouvelle idiotie qui a été ajoutée à la gestion de la mise en veille qui augmente le swap sans aucune (bonne) raison. Parfois on a un peu l'impression qu'il faudrait qu'ils se calment un peu, chez Apple et qu'ils prennent le temps de réfléchir posément...
 
Sinon, si tu ne veux pas te taper une purge par le Terminal, jette un oeil sur l'App Store et rentre purge dans le champ de recherche, il existe une bonne douzaine de logiciels qui font ce boulot, dont plusieurs gratuits (qui sont d'ailleurs les mieux notés).
 
Bonjour Subsole,

quelle est la différence entre le faire par le terminal et le faire par une application dédiée ?
 
D'un autre côté, il suffit de planifier un purge dans la crontab (tâches planifiées) : pour être vraiment utile, il faut l'exécuter régulièrement.
 
La crontab... de vieux souvenirs... jamais utilisé mais je sais bien ce que c'est... je viens de trouver un petit utilitaire sympa évitant de se salir les mains, "cronniX", j'ai ajouté une ligne en devinant plus ou moins l'usage, on verra ce que ça fait... je suppose qu'il y a un moyen d'en voir la trace dans la console quelque part ? En tous cas merci du tuyaux.

Et sinon oui, je pense que ce phénomène "empire" avec la quantité de RAM, ça le fait beaucoup plus depuis que je suis passé à 16 Go (il y a 1 an), mais j'ai quand même la sensation que le passage au SSD a aggravé la situation...
 
Je ne pense pas que le SSD y soit pour quoi que ce soit : à système constant, je n'ai rien décelé à ce niveau lors de mon passage d'un HDD à un SSD (et je surveille...)
Il y a la RAM, Mountain Lion et certaines nouveautés.

Cronnix est effectivement très pratique.
Chez moi, ça donne ça :
Bloc de code:
0,30    *    *    *    *    /usr/bin/purge
pour un passage toutes les demi-heures.
 
Oops je l'avais fait avec "0", ça voulait dire "tout le temps" ? Le fait est qu'en rentrant ce soir j'ai une mémoire inactive très petite et une mémoire libre très grosse :D (mais toujours un swap important cependant, près de 4 Go...)

Je l'ai passé à 30, en revanche je n'avais pas mis /usr/bin/purge mais juste "purge", sachant que dans le terminal "purge" marche tout le temps (je suppose qu'il y a l'équivalent d'un "path" sous OS X ? j'ai jamais été un pro du shell...) donc ça doit être bon.
 
Il vaut mieux mettre le chemin complet, je trouve, mais n'ergotons pas.

Ces 4 GB de swap, c'est le signe de la mauvaise gestion de la RAM. tsss....
 
J'ai l'impression qu'une fois qu'il les a pris, il les lâche plus... mais maintenant que j'ai mon purge gravé dans l'OS il faudrait que je reboot pour voir comme ça se comporte.
 
Effectivement c’est bizarre. Mais questions en aparté*:

— On peut utiliser un disque dur externe comme disque principal*??? Question con, oui je n’ai pas réfléchi. On peut bien choisir sur quel disque démarrer dans les préférences. Et on peut démarrer sur un disque Time Machine par exemple.
— Tu ne peux pas monter ton SSD dans ton iMac*?

Ca ne vient pas du fait que la gestion de la mémoire est «*perturbée*» parce que ton disque système et un disque externe*?

Sur mon MBPR 2,3*Ghz, 16*Go RAM, j’ai saturé la mémoire avec quelques machines virtuelles et quelques logiciels de photos et vidéos. Le swap n’a augmenté uniquement que lorsque la RAM était saturée.
 
Vous êtes sûr que ça ne peut pas venir des réglages des logiciels concernés tout simplement ?

Je m'explique : on peut déterminer la quantité de mémoire réservée sur certains logiciels (je pense à ceux qui sont assez gourmand comme la suite Adobe par exemple) et qui ferait qu'en effet une fois tout ce petit monde lancé ben le dernier n'a plus rien à lui et tape dans le swap.

En fait, si je continue avec mon exemple de la suite Adobe (CS6), on ne réserve pas la quantité disponible pour la suite Adobe a proprement parlé mais la quantité disponible pour les autres logiciels, par exemple chez moi c'est 2Go, ce qui me laisse 6Go pour la CS6 (j'ai donc 8Go de RAM installés).

Si je lance Premiere, puis After effects, Premiere détecte automatiquement que les deux sont lancés, After effects va donc prendre dans les mêmes ressources que Premiere, c'est à dire les 6Go réservés à la CS6.
Si je viens à lancer un logiciel qui n'est PAS dans la suite mais qui bouffe pas mal de RAM, il va taper dans les 2Go restant, puis va faire du SWAP pour le reste.

Et cela même si Premiere et After Effects n'ont pas de projet lancés et ne consomment donc quasiment rien, la quantité étant réservée un autre logiciel ne peut pas taper dedans.

Je ne dis pas que c'est forcément ça, mais je dis que c'est une piste qui me parait plausible, et en disant ça je pense tout de suite aux logiciels où on ne peut pas configurer la quantité de RAM allouée, et donc qui fonctionnent comme bon leur semble, quitte à perturber les autres app lancées.

EDIT : je précise que la quantité de RAM "réservée" par la CS6 apparait comme "disponible" dans le moniteur d'activité
 
Dernière édition:
  • J’aime
Réactions: Atlante
Il vaut mieux mettre le chemin complet, je trouve, mais n'ergotons pas.

Ces 4 GB de swap, c'est le signe de la mauvaise gestion de la RAM. tsss....
J'ai eu des symptômes similaires sur mon Macbook Pro Retina.

Je suis allez jeter un coup d'oeil dans le moniteur d'activité. Il y a un problème avec le plug-in Flash de Firefox, qui peut sur certains site comme lefigaro.fr systématiquement réclamer jusqu'à 12GO de ram.

@Jerome_C: Dans ton cas, j'avoue me noyer sur le problème du SSD. Je ne comprend pas le lien avec le swap. La prochaine fois qu'un tel incident arrive, peux tu aller dans le moniteur d'activité et regarder quel processus consomme ta ram?
 
Dernière édition par un modérateur:
Effectivement c’est bizarre. Mais questions en aparté*:

— On peut utiliser un disque dur externe comme disque principal*??? Question con, oui je n’ai pas réfléchi. On peut bien choisir sur quel disque démarrer dans les préférences. Et on peut démarrer sur un disque Time Machine par exemple.
— Tu ne peux pas monter ton SSD dans ton iMac*?

Ca ne vient pas du fait que la gestion de la mémoire est «*perturbée*» parce que ton disque système et un disque externe*?

Sur mon MBPR 2,3*Ghz, 16*Go RAM, j’ai saturé la mémoire avec quelques machines virtuelles et quelques logiciels de photos et vidéos. Le swap n’a augmenté uniquement que lorsque la RAM était saturée.
La réponse dans le lien de mon 1er post où j'explique mon odyssée - et non je ne pouvais pas, il aurait fallu sacrifier le DVD et je n'avais pas envie.

Quant à la "perturbation" de ma gestion mémoire par l'OS sur le SSD externe, c'était l'objet de ma question initiale, justement.

Vous êtes sûr que ça ne peut pas venir des réglages des logiciels concernés tout simplement ?

Je m'explique : on peut déterminer la quantité de mémoire réservée sur certains logiciels (je pense à ceux qui sont assez gourmand comme la suite Adobe par exemple) et qui ferait qu'en effet une fois tout ce petit monde lancé ben le dernier n'a plus rien à lui et tape dans le swap.

En fait, si je continue avec mon exemple de la suite Adobe (CS6), on ne réserve pas la quantité disponible pour la suite Adobe a proprement parlé mais la quantité disponible pour les autres logiciels, par exemple chez moi c'est 2Go, ce qui me laisse 6Go pour la CS6 (j'ai donc 8Go de RAM installés).

Si je lance Premiere, puis After effects, Premiere détecte automatiquement que les deux sont lancés, After effects va donc prendre dans les mêmes ressources que Premiere, c'est à dire les 6Go réservés à la CS6.
Si je viens à lancer un logiciel qui n'est PAS dans la suite mais qui bouffe pas mal de RAM, il va taper dans les 2Go restant, puis va faire du SWAP pour le reste.

Et cela même si Premiere et After Effects n'ont pas de projet lancés et ne consomment donc quasiment rien, la quantité étant réservée un autre logiciel ne peut pas taper dedans.

Je ne dis pas que c'est forcément ça, mais je dis que c'est une piste qui me parait plausible, et en disant ça je pense tout de suite aux logiciels où on ne peut pas configurer la quantité de RAM allouée, et donc qui fonctionnent comme bon leur semble, quitte à perturber les autres app lancées.

EDIT : je précise que la quantité de RAM "réservée" par la CS6 apparait comme "disponible" dans le moniteur d'activité
Je n'utilise adobe ni PS ni rien dans la catégorie soft graphique ou video, je n'ai aucun soft qui prenne plusieurs de mes 16 Go à lui tout seul (le plus gros : une machine virtuelle à 1,5 Go, pas tout le temps lancée).

J'ai eu des symptômes similaires sur mon Macbook Pro Retina.

Je suis allez jeter un coup d'oeil dans le moniteur d'activité. Il y a un problème avec le plug-in Flash de Firefox, qui peut sur certains site comme lefigaro.fr systématiquement réclamer jusqu'à 12GO de ram.

@Jerome_C: Dans ton cas, j'avoue me noyer sur le problème du SSD. Je ne comprend pas le lien avec le swap. La prochaine fois qu'un tel incident arrive, peux tu aller dans le moniteur d'activité et regarder quel processus consomme ta ram?
Je regardais évidemment les process et aucun n'expliquait le débordement en permanence, ma théorie est que ce sont la succession permanente de process boinc qui se lancent et se terminent plus ou moins rapidement, avec une conso de RAM très variable, comme je l'expliquais plus haut (quelques Mo à quelques centaines de Mo, rarement plus), qui petit à petit causait ce débordement.

Mais je n'ai plus de problème grâce à le purge dans le cron, j'ai finalement rebooté il y a plus d'une journée et c'est BONHEUR : 0 octet de swap, plus de 6 Go de libre, jamais plus de 2 Go inactif (à peine 1 à cet instant). Et pourtant je fais exactement la même chose que le reste du temps, mes 8 process boinc + 1 VM linux + divers trucs et bidules.

A noter cependant, côté gestion pourrie de la mémoire : entre le moment où j'ai mis en place le purge croné ( :) ) et mon reboot, j'avais toujours beaucoup de mémoire libre (plusieurs Go) et très peu de mémoire inactive, mais le swap est toujours resté très important (> 4 Go), donc une fois qu'il a utilisé le swap il ne le lâche plus, le bougre.

Donc tout baigne dans le bonheur :zen:
 
La CS6 n'était qu'un exemple pour démontrer comment les logiciels pouvaient s'attribuer de la RAM ce qui aurait pu (et est peut-être) la clé de ton problème, il n'y a pas qu'osX qui est responsable de la gestion de la RAM sur un ordinateur.

Moi je me suis basé sur tes dires : " j'ai 16 Go de RAM, c'est plutôt confortable même si je les mets à rude épreuve (8 cores sur Boinc + une ou deux machines virtuelles + divers trucs et bidules)"
qui se sont transformés en : " je n'ai aucun soft qui prenne plusieurs de mes 16 Go à lui tout seul ".

Enfin bref, content que tu ai trouvé une solution malgré le fait que tu n'ai pas trouvé d'où venait le problème, l'important c'est que ça marche n'est-ce pas ?

++