Problème avec la mémoire inactive

Califila

Membre confirmé
18 Décembre 2011
91
0
Salut tout le monde,

Je suis sur un iMac 2011 et sous Mac OS X Lion 10.7.5 et j'ai un problème avec la mémoire inactive. En fait, j'ai deux problèmes. Avant tout, faut savoir que j'ai 16 Go RAM. Ça peut avoir son importance pour mes problèmes.

Problème numéro 1 : la mémoire inactive ne se libère jamais. Après un certain temps, imaginons que j'ai 6 Go de mémoire inactive. Hé bien, jamais elle ne se libèrera. Ça va continuer à augmenter jusqu'à ce que je doive purger manuellement par la commande du Terminal. Première question donc : pourquoi ma mémoire inactive ne se libère jamais ?

Problème numéro 2 : de temps en temps, sans raison apparente, ma mémoire inactive me bouffe toute la RAM. Autrement dit, imaginons que sur les 16 Go je me retrouve avec 9 Go de libre. Sans raison apparente, je constate que l'iMac est lent et quand je vais checker dans le moniteur d'activité, je constate que ma mémoire inactive a pris les 9 Go de libre ! Là encore, je dois purger par la commande du Terminal pour retrouver rapidité et efficacité. Cela fait un bout de temps que je cherche la cause de ce problème et je n'ai pas trouvé. On en vient donc à ma deuxième question : pourquoi, sans raison apparente, ma mémoire inactive me bouffe toute la mémoire libre ?

Voilà. Un grand merci à ceux qui pourront m'aider. Une dernière chose : je tiens énormément à mon iMac donc je n'installe rien de "bizarre", je ne chipote pas dans le système ni rien de tout ça. Donc ça ne vient pas d'une fausse manipulation que j'ai faite. L'iMac est à jour, je surveille ça aussi.
Merci encore.
 
La réponse est assez simple (malheureusement) : c'est que la gestion de la mémoire est mal fichue.
J'en arrive même à soupçonner qu'il y a carrément des bugs (au moins fonctionnels) dans la gestion de la mémoire quand elle dépasse les 4 GB.
En parcourant certains fils sur les forums d'Apple, on trouve des interrogations similaires...

Personnellement, ce qui m'agace passablement c'est d'arriver à avoir du swap quand la totalité de la RAM n'a même pas été consommée... :rateau:

Bref, comme pis aller, il faut programmer le passage régulier de la commande purge.
 
La réponse est assez simple (malheureusement) : c'est que la gestion de la mémoire est mal fichue.
J'en arrive même à soupçonner qu'il y a carrément des bugs (au moins fonctionnels) dans la gestion de la mémoire quand elle dépasse les 4 GB.
En parcourant certains fils sur les forums d'Apple, on trouve des interrogations similaires...

Personnellement, ce qui m'agace passablement c'est d'arriver à avoir du swap quand la totalité de la RAM n'a même pas été consommée... :rateau:

Bref, comme pis aller, il faut programmer le passage régulier de la commande purge.


Ah ! Donc ce n'est pas ma faute, c'est bien un problème dans le système. O.-K. Mais tu as parlé de programmer le passager régulier de la commande PURGE. Il y a moyen de la programmer à l'avance ? Par exemple, de la lancer une fois par jour à 16 heures (c'est un exemple) ?
 
Tout à fait. Soit en utilisant l'ordonnanceur historique de UNIX (cron) soit en utilisant le lanceur de Mac OS X (launchd), un peu plus subtil...
J'ai opté pour la première méthode, relativement plus simple, et pour un lancement toutes les trente minutes.
 
Tout à fait. Soit en utilisant l'ordonnanceur historique de UNIX (cron) soit en utilisant le lanceur de Mac OS X (launchd), un peu plus subtil...
J'ai opté pour la première méthode, relativement plus simple, et pour un lancement toutes les trente minutes.


Tu pourrais m'expliquer en détails les deux méthodes ? Car j'y connais pas grand-chose. Merci.
 
La deuxième, non, parce que je ne l'ai pas choisie : il faut écrire un fichier de configuration pour launchd et le placer dans un dossier ad hoc.

La première : tu peux éditer aisément la crontab, fichier de paramètre de cron pour un utilisateur particulier, avec l'utilitaire Cronnix. C'est à mon avis le plus simple (sinon c'est par le Terminal et la ligne de commande...).

Pour revenir à ce que tu souhaites (16h tous les jours), la ligne correpondante dans la crontab serait :
Bloc de code:
0 16 * * * /usr/bin/purge
 
La deuxième, non, parce que je ne l'ai pas choisie : il faut écrire un fichier de configuration pour launchd et le placer dans un dossier ad hoc.

La première : tu peux éditer aisément la crontab, fichier de paramètre de cron pour un utilisateur particulier, avec l'utilitaire Cronnix. C'est à mon avis le plus simple (sinon c'est par le Terminal et la ligne de commande...).

Pour revenir à ce que tu souhaites (16h tous les jours), la ligne correpondante dans la crontab serait :
Bloc de code:
0 16 * * * /usr/bin/purge


Ça fonctionne ! Grand merci.