Problemi Informazioni sulla memoria inattiva in MacOSX

8

Ho pensato di capire come MacOSX gestisce la memoria, ma di recente sono rimasto sconcertato dalle sue prestazioni. Ecco la situazione:

  1. 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.
  2. Ho bisogno di eseguire tre processi a 64 bit in parallelo, ognuno dei quali usa circa 2000M di memoria reale.
  3. 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.
  4. 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?

    
posta Ventzi Zhechev 05.04.2011 - 08:39
fonte

2 risposte

5

Ho trovato, sulla mia macchina, che Mac OS X è un po 'lento a pagina le cose giuste.

Ogni volta che si fa qualcosa di particolarmente affamato di memoria, spesso smetterò alcune applicazioni per aiutarlo. Safari è un'enorme memoria hog se è in esecuzione da un po 'ed è in cima alla lista delle applicazioni da chiudere. Nel mio caso questo è stato quando ho provato a eseguire VMWare Fusion senza abbastanza RAM effettiva.

Probabilmente lo sai, ma qui ci sono un paio di link alla documentazione di Apple che descrivono l'utilizzo della memoria e la memoria virtuale su OS X:

link

link

Ecco la spiegazione fornita: L'elenco inattivo contiene pagine che sono attualmente residenti nella memoria fisica ma che non sono state visitate di recente. È difficile ottenere una definizione esatta di ciò che significa, ma sembra includere una cache del file system e una memoria inattiva effettiva.

La memoria inattiva è probabilmente una cosa difficile da gestire su un sistema operativo interattivo con GUI in cui un utente può scegliere di passare a qualsiasi applicazione in esecuzione in qualsiasi momento e fornire risposte in questo tipo di situazione è importante .... ma il rovescio della medaglia questo è che in una situazione come la tua il sistema operativo non sa esattamente quale sia la cosa giusta da fare.

È possibile eliminare (alcuni) la memoria inattiva usando purge comando. Potrebbe essere necessario installare questo installando gli strumenti CHUD ma potresti averlo già installato. Non ho provato a utilizzare il comando di eliminazione in modo YMMV ...

Ho parlato un po 'e potrebbe non aver risposto alla tua domanda. Dopo aver scritto tutto questo, ho trovato un'altra domanda su questo sito che molte delle stesse informazioni che potrebbero anche aiuto.

    
risposta data 05.04.2011 - 17:30
fonte
1

MacOS fa rilascia la memoria inattiva, ma solo se è veramente necessario. Quella "memoria inattiva" potrebbe essere in realtà una memoria che il kernel crede di essere un candidato per il paging out, ma non ha ancora deciso, in attesa di più tempo senza riferimento alla memoria inattiva (invece, si sta concentrando su come sfogliare la memoria è molto meno probabile che venga usato di nuovo presto). In tal caso, "svuotando" la memoria inattiva causerà effettivamente le tue prestazioni (dato che quelle pagine usate di frequente dovrebbero essere rilette dal disco prima che il tuo programma possa continuare l'esecuzione).

purge è utile per gli sviluppatori per simulare le condizioni di avvio di un'applicazione-- ad es. per vedere quanto tempo ci vuole per far funzionare un'applicazione la prima volta dopo un avvio o una lunga interruzione. Per l'utente tipico, purge non è molto utile (e in realtà causerà un peggioramento delle prestazioni temporaneo).

    
risposta data 07.12.2012 - 17:01
fonte

Leggi altre domande sui tag