Pensavo di aver capito come MacOSX gestisce la memoria, ma recentemente 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. Esistono alcune app in esecuzione che occupano regolarmente parte della memoria: Safari, Mail, Xcode, Terminal, ecc.
- Devo eseguire tre processi a 64 bit in parallelo, ognuno dei quali utilizza circa 2000 M di memoria reale.
- Sebbene la memoria cablata rimanga al di sotto di 1000 M (ovvero ho oltre 7000 M disponibili per i processi), vedo una forte 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 segnalata rimane intorno ai 2500M e la memoria attiva non supera i 5000M.
Qualcuno può darmi un indizio sul perché MacOSX non rilascia la memoria inattiva per i processi che ne hanno bisogno, invece di ricorrere al paging? Inoltre, esiste un modo adeguato per influenzare la gestione della memoria da parte del sistema?