Sfondo:
OSX conserva alcune informazioni nella RAM che non è più utilizzata, ma è stata recentemente utilizzata. Questa è chiamata memoria inattiva e ha lo scopo di migliorare l'esperienza dell'utente accelerando alcune azioni:
For example, if you've been using Mail and then quit it, the RAM that Mail was using is marked as Inactive memory. Inactive memory is available for use by another application, just like Free memory. However, if you open Mail before its Inactive memory is used by a different application, Mail will open quicker because its Inactive memory is converted to Active memory, instead of loading it from the slower drive.
Sembra discutibile (quanto puoi velocizzare Mail su un computer quad-core?), ma almeno questo non potrebbe probabilmente ferire poiché tale memoria può essere trattata come una memoria libera! In realtà, può :
In OS X, when the number of pages in the free list dips below a computed threshold, the kernel reclaims physical pages for the free list by swapping inactive pages out of memory.
Questo mi fa dubitare che la gestione della memoria di OSX sia effettivamente superiore; dopo tutto la stessa pagina menziona che
Paging of any kind... affects performance negatively because it forces the system to spend a lot of time reading and writing to disk. Reading a page in from the backing store takes a significant amount of time and is much slower than reading directly from RAM. If the system has to write a page to disk before it can read another page from disk, the performance impact is even worse.
Problema:
Questo è probabile che si verifichi la memoria inattiva e il successivo peggioramento delle prestazioni, anche durante operazioni banali come la navigazione multi-tab, anche se il numero di schede aperte contemporaneamente è mantenuto entro limiti ragionevoli (sia Safari che Chrome sembrano essere colpevole di aggiungere alla memoria inattiva ogni volta che si chiude una scheda).
La macchina diventa difficilmente utilizzabile quando questo accade - anche aprendo Terminal e spurgo memoria può richiedere alcuni minuti.
Domanda:
È possibile disattivare la memoria inattiva? Oppure, se la memoria non attiva non è essenziale, può essere disabilitata completamente?
In alternativa, è disponibile un daemon o un'app di Apple che monitora l'utilizzo della memoria inattiva (un ossimoro OSX) e quando supera una quantità arbitraria (mezzo concerto?) a purge
viene eseguito?