Contexte :
OSX conserve en mémoire vive des informations qui ne sont plus utilisées, mais qui l'ont été récemment. C'est ce qu'on appelle mémoire inactive et vise à améliorer l'expérience de l'utilisateur en accélérant certaines actions :
Par exemple, si vous avez utilisé Mail et que vous l'avez quitté, la mémoire vive de Mail utilisait est marquée comme mémoire inactive. La mémoire inactive est disponible pour une autre application, tout comme la mémoire libre. Toutefois, si vous ouvrez Mail avant que sa mémoire inactive ne soit utilisée par une autre application, Mail reste disponible pour une autre application, tout comme la mémoire libre. par une autre application, Mail s'ouvrira plus rapidement parce que sa mémoire est convertie en mémoire active, au lieu de la charger à partir du lecteur le plus lent. plus lente.
Cela semble discutable (comment peut-on accélérer Mail sur une machine quadricœur ?), mais au moins, cela ne pourrait pas être le cas. blesser puisque cette mémoire peut être traitée comme de la mémoire libre ! En fait, il peut :
Dans OS X, lorsque le nombre de pages dans la liste libre passe en dessous d'un seuil calculé, le noyau récupère des pages physiques pour la liste libre en transférant les pages inactives hors de la mémoire.
Cela m'amène à me demander si la gestion de la mémoire d'OSX est en fait supérieure ; après tout, la même page mentionne que
La pagination, quelle qu'elle soit, affecte les performances de manière négative parce qu'elle oblige le système à passer beaucoup de temps à lire et à écrire sur le disque. La lecture d'une page à partir du backing store prend beaucoup de temps et est très temps et est beaucoup plus lente que la lecture directe à partir de la RAM. Si le système doit écrire une page sur le disque avant de pouvoir en lire une autre, l'impact sur les performances est encore plus important.
Enjeu :
Ce phénomène (la pagination de la mémoire inactive et la forte dégradation des performances qui s'ensuit) est susceptible de se produire même lors de tâches triviales telles que la navigation multi-onglets, même si le nombre d'onglets ouverts simultanément reste raisonnable (Safari et Chrome semblent tous deux coupables d'ajouter de la mémoire inactive à chaque fois qu'un onglet est fermé).
La machine devient alors difficilement utilisable - même l'ouverture de Terminal et de purger la mémoire peut prendre quelques minutes.
Question :
L'échange de mémoire inactive peut-il être désactivé ? Ou, la mémoire inactive n'étant pas essentielle, peut-on la désactiver complètement ?
Sinon, existe-t-il un démon ou, de préférence, une application Apple qui surveille l'évolution de l'état de santé de l'utilisateur ? utilisation de la mémoire inactive (un oxymore OSX) et lorsqu'il dépasse une quantité arbitraire (un demi-giga ?), une fenêtre purge
est effectuée ?