Ho pensato di capire come MacOSX gestisce la memoria, ma di recente sono rimasto sconcertato dalle sue prestazioni. Ecco la situazione:
- Ho un nuovissimo sistema Core i7 con 8 GB di memoria fisica con MacOSX 10.6.7. Ci sono alcune app in esecuzione che occupano regolarmente parte della memoria: Safari, Mail, Xcode, Terminale, ecc.
- Ho bisogno di eseguire tre processi a 64 bit in parallelo, ognuno dei quali usa circa 2000M di memoria reale.
- Sebbene la memoria cablata rimanga inferiore a 1000 M (ad esempio, sono disponibili più di 7000 M per i processi), vedo una pesante attività di paging che porta a prestazioni pessime dai tre processi ad alta intensità di memoria che ho avviato.
- Apparentemente, non sto esaurendo la RAM disponibile, poiché la memoria inattiva riportata rimane intorno a 2500M e la memoria attiva non supera i 5000M.
Qualcuno può darmi un indizio sul motivo per cui MacOSX non rilascia la memoria inattiva per i processi che ne hanno bisogno, invece di ricorrere al paging? Inoltre, esiste un modo corretto per influenzare la gestione della memoria da parte del sistema?