Si può influenzare il comportamento del caching del filesystem di Mac OS X / Darwin?

2

Ho il seguente problema: quando eseguo processi che consumano molta memoria, Mac OS X sembra rifiutarsi di rilasciare una grande porzione della cache del filesystem:

Infatti,invecedilasciareandarei~30GBdimemoriainattiva,preferiscescambiare45GB(chestavanoaumentandonelmomentoincuisonostaticatturatinell'immagine).

L'esecuzionedipurgehaliberatounagrandeporzionediquellamemoria,portandoa~15GBdimemorialiberaeMacOSXchefinalmentesiinterrompevapercimarmiconquellafinestradidialogoOOMdavveroinutilechemichiedevadichiudereunadellemieapplicazioniGUI...

C'è un modo in cui il kernel può essere istruito a essere meno insistente quando si tratta di eseguire il caching dei file I / O?

    
posta barbaz 08.02.2013 - 17:41
fonte

1 risposta

1

È difficile dire senza accesso al tuo sistema o passaggi per riprodurre il tuo errore, ma in base alla mia esperienza, il sistema operativo si comporta come qualsiasi altro UNIX quando il dispositivo di scambio e il filesystem di root si riempiono. Il modo più semplice per evitare la finestra di dialogo è assicurarti di avere abbastanza spazio libero per creare un altro file di scambio (superano i 2 GB credo su Mountain Lion).

Alla maggior parte delle persone piace avere il 25% (o più) di spazio libero dal momento che il sistema operativo ottimizza i file e le deframmentazioni al volo e questi si disattivano automaticamente quando lo spazio libero diventa basso per evitare di sfornare l'IO quando non c'è spazio per scrivere o molti posti liberi sul disco da scegliere per un accesso più veloce ai file.

Una differenza notevole tra OS X e altri UNIX è che il sistema operativo Apple esegue l'allocazione delle pagine in ritardo per lo scambio, quindi non si vedono file di scambio di grandi dimensioni quando non sono necessari. Per questo, puoi disabilitare lo swap interamente o assicurati che il tuo disco abbia spazio sufficiente per gestire qualsiasi quantità di scambio che vedi in pratica.

Non ho mai sentito nessuno che abbia a che fare con l'algoritmo di paging, ma Apple ha aperto questa parte del sistema operativo, quindi chiunque si preoccupi può apportare modifiche a livello di codice ed eseguirlo con esso.

Vorrei iniziare con l'acquisto della successiva unità di archiviazione laterale più grande e monitorare l'utilizzo dello spazio per assicurarti di non svuotare meno di 10 GB come regola generale di partenza. Se stai facendo un lavoro serio, potresti investire di più nello spazio su disco per assicurarti di non finire.

    
risposta data 11.02.2013 - 14:12
fonte

Leggi altre domande sui tag