Quanto dovrebbe essere grande il file della pagina o la partizione di scambio?
Secondo una vecchia regola empirica, il tuo file di paging o lo swap dovrebbe essere "doppio della tua RAM" o "1.5x la tua RAM". Ma hai davvero bisogno di un file di 32 GB o di uno swap se hai 16 GB di RAM?
Probabilmente non hai bisogno di tanto file di paging o di swap, il che è un sollievo considerando che un computer moderno potrebbe avere un disco a stato solido con pochissimo spazio.
Lo scopo del file di pagina o la partizione di scambio
Innanzitutto, ricordiamo il vero scopo del file di paging su Windows o la partizione di swap su Linux. Entrambi forniscono ulteriore memoria di lavoro al computer. Ad esempio, se il computer ha 2 GB di RAM e si apre un numero elevato di programmi o un numero elevato di file, il computer potrebbe dover memorizzare 3 GB di dati nella memoria di lavoro. Il computer memorizza altri 1 GB di dati nel suo file di paging o nello spazio di swap. Il file di paging o lo swap funge da area di "overflow" per contenere i dati aggiuntivi. Il computer trasferisce automaticamente i dati nella RAM quando viene utilizzato e sposta i dati nel relativo file di paging o nella partizione di swap quando non viene utilizzato.
Se hai utilizzato un computer desktop più vecchio, è possibile vedere ciò accada dopo aver minimizzato un programma desktop per un po '. Quando lo hai ingrandito in un secondo momento, ci sarebbe voluto un po 'per comparire, e sentiresti il tuo disco rigido macinare mentre il LED di attività del disco lampeggiava: i suoi dati venivano spostati dal tuo file di paging o dalla partizione di swap alla sua RAM. La RAM è molto più veloce del file di paging o della partizione di swap. (Questo è molto meno comune nei computer moderni che hanno una quantità sufficiente di RAM per mantenere i programmi desktop nella RAM.)
La maggior parte delle applicazioni si aspetta di ottenere la memoria richiesta. Se la tua RAM era piena e non avevi nessun file di pagina, e poi hai aperto un altro programma, il programma si sarebbe probabilmente schiantato. Avere un file di paging con programmi spaziali aggiuntivi può impedire che ciò accada.
Altri usi per le partizioni di file e scambio di pagine
Windows e Linux utilizzano anche il loro file di paging e lo spazio di swap per altri scopi:
- Windows crash dump: Su Windows, il file di paging viene utilizzato per i dump di arresto anomalo. Per creare un dump di memoria completo, il file di paging deve avere almeno la dimensione della memoria fisica + 1 MB. Per i dump della memoria del kernel, il file di paging deve essere di almeno 800 MB su sistemi con 8 GB di RAM o più. La maggior parte delle persone non ha bisogno di dump di memoria completi, ma i dump del kernel potrebbero essere utili. Il file di pagina 800 MB richiesto è abbastanza piccolo, ma richiede di lasciare il file di pagina abilitato e di non disabilitarlo. (Queste informazioni sono tratte dal documento Understanding Crash Dumps in Microsoft TechNet).
- Ibernazione Linux: Su sistemi Linux, la sospensione - lo stato di spegnimento che salva il contenuto della RAM del sistema sul disco in modo che possa essere ricaricato all'avvio - salva il contenuto della RAM del sistema nella partizione di swap. Questo può anche essere indicato come "sospendere su disco". Si potrebbe presumere che sia necessaria una partizione di swap grande quanto la RAM in ibernazione, ma in realtà è sufficiente una partizione di swap grande quanto la RAM che si usa, quindi, se usi solo regolarmente 4 GB dei tuoi 16 GB di RAM, potresti andare in letargo a una partizione di swap da 4 GB. Tuttavia, se hai utilizzato più di 4 GB di RAM, potresti non essere in grado di ibernare. È spesso sicuro scegliere una partizione di swap uguale alla dimensione della RAM. Si noti che questo si applica solo alla sospensione: se non si pianifica di ibernare il computer, non è necessario preoccuparsene. (Windows si iberna salvando i dati nel file C: \ hiberfil.sys, quindi il file di paging non è coinvolto quando ibernato su Windows.)
La vera domanda: quanta memoria usi??
Non esiste una regola rigida che ti dirà di quanto spazio di paging o di swap hai bisogno. La risposta dipende da cosa fai con il tuo computer e quanta memoria usi. Ad esempio, se hai 8 GB di memoria ma non ne hai mai usati più di 8 GB, potresti passare senza spazio di paging o di swap - è probabile che alla fine avresti bisogno di oltre 8 GB, naturalmente. D'altra parte, potresti avere un computer con 64 GB di memoria, ma potrebbe funzionare regolarmente con set di dati da 100 GB - probabilmente per lo spazio di paging o di swap almeno 64 GB per sicurezza. Quindi un computer con 8 GB di RAM potrebbe non richiedere alcun file di paging e un computer con 64 GB di RAM potrebbe richiedere un enorme file di paging. Dipende tutto da cosa sta facendo il computer.
La maggior parte delle persone non sarà in grado di prevedere la quantità di spazio di paginazione o di scambio di cui ha bisogno. Anche se hai guardato la tua memoria usata in questo momento, non puoi dire quanto i tuoi programmi avranno bisogno in una settimana o un mese.
Windows può gestirlo automaticamente
Su Windows, il file di pagina viene archiviato in C: \ pagefile.sys. Per impostazione predefinita, Windows gestisce automaticamente la dimensione di questo file. Inizia in piccolo e diventa potenzialmente più grande se ne hai bisogno. Si consiglia di lasciare a Windows la gestione della dimensione del file di paging da solo. Non dovrebbe occupare molto spazio sul tuo disco di sistema. Se il tuo file di pagina occupa molto spazio sull'unità di sistema, è perché in passato avevi bisogno di un file di pagina di grandi dimensioni e Windows lo ingrandiva automaticamente per te.
Ad esempio, su un sistema Windows 8.1 con solo 4 GB di RAM, il nostro file di pagina ha attualmente solo 1,8 GB di spazio. Non abbiamo tutta quella RAM, ma Windows sta usando un piccolo file di pagina finché non avremo bisogno di altro.
Non ci sono benefici di prestazioni per sbarazzarsi di un file di paging, solo potenziali problemi di instabilità del sistema in cui i programmi potrebbero bloccarsi se si utilizza tutta la RAM. È possibile eliminare il file di paging per risparmiare spazio sull'unità di sistema, ma di solito non ne vale la pena.
Se si desidera impostare manualmente una dimensione - sconsigliabile - assicurarsi di tenere presente che ciò che conta davvero quanta memoria utilizzerà il sistema, non solo la dimensione della sua RAM. La documentazione di Microsoft rileva che:
"Il motivo per configurare la dimensione del file di pagina non è cambiato. È sempre stato necessario supportare un dump di arresto del sistema, se necessario, o estendere il limite di commit del sistema, se necessario. Ad esempio, quando viene installata molta memoria fisica, potrebbe non essere necessario un file di paging per sostenere la carica di commit del sistema durante l'utilizzo massimo. La sola memoria fisica disponibile potrebbe essere abbastanza grande per fare questo. "
In altre parole, si tratta di quanta memoria hai effettivamente bisogno: la quantità totale di memoria disponibile è il "limite di commit del sistema".
Linux richiede una scelta
Su Linux, l'equivalente del file di paging di Windows è la partizione di swap. Poiché si tratta di una partizione e non solo di un file, quando si installa Linux è necessario scegliere la dimensione della partizione di swap. Certo, potresti ridimensionare le partizioni in seguito, ma è più lavoro. Linux non può gestire automaticamente la dimensione della partizione di swap per te.
Ogni distribuzione Linux utilizza il proprio programma di installazione e ogni distribuzione Linux ha una logica nel suo programma di installazione che tenta automaticamente di scegliere la dimensione della partizione di swap appropriata. Le distribuzioni Linux in genere utilizzano la dimensione della RAM per aiutare a decidere la dimensione della partizione di swap. Quando si installa Ubuntu, la dimensione tipica della partizione di swap predefinita sembra essere la dimensione della RAM più un ulteriore mezzo GB circa. Ciò garantisce che l'ibernazione funzioni correttamente.
Se stai partizionando manualmente nel tuo programma di installazione di Linux, la dimensione della RAM più 0,5 GB è una buona regola empirica che ti garantirà di poter realmente ibernare il tuo sistema. Di solito dovrebbe anche essere più che sufficiente spazio di swap. Se hai una grande quantità di RAM - 16 GB o giù di lì - e non hai bisogno di ibernazione, ma hai bisogno di spazio su disco, probabilmente potresti cavartela con una piccola partizione di swap da 2 GB. Di nuovo, dipende molto dalla quantità di memoria che il tuo computer effettivamente userà. Ma è una buona idea avere uno spazio di swap per ogni evenienza.
La vecchia regola del "doppio della dimensione della RAM" applicata ai computer con 1 o 2 GB di RAM. Non esiste una risposta adatta a tutte le dimensioni alla quantità di file di paging o spazio di swap necessario. Tutto dipende dai programmi che usi e da ciò di cui hanno bisogno. Se non si è sicuri, attenersi alle impostazioni predefinite del sistema operativo è quasi sempre una buona idea.
Immagine di credito: William Hook su Flickr, Jean-Etienne Minh-Duy Poirrier su Flickr