Quando OS X (10.11 nel mio caso) apre una finestra di dialogo che dice che il sistema ha esaurito la memoria dell'applicazione, cosa significa veramente? Ho esaminato questo domanda , ma la mia domanda è un po 'più specifica e non ho ricevuto risposta.
Ovviamente non significa semplicemente che il sistema ha esaurito lo spazio di swap, dato che ho oltre 500 GB gratuiti, e ho visto questo messaggio quando Activity Monitor riporta 30 GB o più (ho 16 GB di RAM fisica).
Immagino che abbia qualcosa a che fare con la memoria cablata (pagine che non possono essere scambiate); normalmente, le applicazioni non possono consumare direttamente la memoria cablata, ma Parallels Desktop può e lo fa, ed è quando sto usando Parallels che vedo il messaggio.
Ma non è così semplice come Parallels riempie l'intera memoria con le pagine cablate. Quando sono stato in grado di controllarlo, Activity Monitor ha segnalato una memoria cablata di 10 GB, ma lascia comunque 6 GB di memoria fisica nel punto in cui il mio sistema si blocca.
Quindi, esattamente quali condizioni causano il sistema a dare questo messaggio? Il kernel ha raggiunto alcuni limiti, o sta dicendo "Penso che ci saranno problemi se non inizi a sospendere le applicazioni ora"?
Aggiornamento 12 gen 2017
(Questo succede ancora su macOS 10.12.2 Sierra)
Ho scritto una piccola app per visualizzare continuamente l'utilizzo della memoria cablata del mio sistema. Questo succede regolarmente al 70-80% quando sto usando Parallels, ma sembra che l'errore "memoria esaurita" non sia correlato alla quantità di memoria cablata. Ho ricevuto l'errore quando quella cifra è inferiore al 20%.