Innanzitutto, non posizionare il file di paging su un SSD. Mentre gli SSD sono migliorati sul livellamento dell'usura, il file di paging viene scritto frequentemente e degraderà l'SSD molto più velocemente dell'uso generale.
Ciò che molte persone non capiscono è che Windows non ha mai memoria libera. Ci sono alcuni MB che vengono mantenuti liberi per richieste di raffica, ma per il resto, la differenza tra la memoria attiva in uso e la memoria totale viene generalmente consumata da quella che è nota come memoria "standby".
Queste sono pagine di memoria che possono essere scaricate se necessario (la memoria di standby è una cache grande e grande), quindi dal punto di vista dell'applicazione, è disponibile, ma non viene affatto utilizzata. Di solito, funzionano come cache del disco o cache del file di paging.
L'obiettivo di Windows è mantenere i dati più probabili da utilizzare in questa cache di standby, in base ai modelli di utilizzo. Per usare un esempio inventato, confrontiamo il valore relativo della memoria privata di un programma come Windows Update (in genere configurato per l'esecuzione una volta alla settimana), tramite la memorizzazione nella cache dei contenuti del desktop in questa memoria di standby:
Per la maggior parte delle volte, Windows Update è inattivo. Sta trattenendo la memoria e, per la maggior parte, non fa assolutamente nulla di valore mentre attende che il programma si ripercuota. Il contenuto della cartella del desktop, d'altra parte, potrebbe essere interrogato costantemente, soprattutto se ti piace salvare i file su di esso.
In questo caso, ciò che Windows farà è sfogliare la memoria allocata a Windows Update (anche se la memoria non è "piena" e utilizzare lo spazio reso disponibile nella RAM per memorizzare nella cache i contenuti del desktop. Ciò si traduce in prestazioni migliori per tu.
Windows sta prendendo migliaia di queste decisioni e sta gestendo una cache del disco per centinaia di file che vengono costantemente scritti da servizi in background mentre tenta di bilanciare questo con le esigenze di memoria delle applicazioni attive. A volte si sbaglia per un momento e potremmo dover aspettare che i dati della pagina tornino in memoria quando passiamo a un'applicazione che è rimasta in background per un po '. Ma cosa devi pensare è se avesse tenuto completamente quell'applicazione in memoria, quante altre applicazioni sarebbero a loro volta impantanate in attesa del completamento delle scritture e delle letture del disco o sarebbero state costrette a uscire di pagina? E se quelle fossero applicazioni che stavi utilizzando nel frattempo?
Le applicazioni allocano frequentemente le pagine di memoria utilizzate molto raramente, come il codice di avvio (usato una volta e poi non necessario), il codice di arresto (usato una volta e poi non necessario) o il codice di aggiornamento. Non è pratico mantenere tutto questo in memoria quando ci sono usi molto più importanti, quindi una volta che Windows identifica le sezioni di codice che non sono state necessarie per l'operazione corrente di un'applicazione, le pagine vengono felicemente archiviate nel file di paging, anche se tecnicamente potrebbe conservarli in memoria.
(E in realtà, a seconda delle applicazioni, i sistemi potrebbero allocare frequentemente più memoria di quella che hanno in realtà, aspettandosi che la maggior parte di essa finisca per essere pagata. Se stai osservando una suddivisione dettagliata della memoria, la carica "Commit" o "Commit" è la quantità di memoria che Windows ha allocato a varie applicazioni. Il file di paging viene utilizzato per fornire garanzie per questa memoria, anche se non ha abbastanza RAM fisica per coprirla.)
Ho appena notato che hai fatto una distinzione tra memoria disponibile e memoria libera nella tua domanda; Mi scuso se ti senti a lezione e conosci già la differenza. Idealmente, la memoria libera è sempre 0. Tuttavia, mentre la memoria di standby è una memoria che può essere rilasciata, non è sempre la memoria che può essere rilasciata rapidamente. Se provo a scrivere un file da 1 GB su disco, Windows lo bloccherà in una cache del disco in memoria, se possibile, e poi lentamente lo scriverà sul disco rigido in background. Se un'applicazione deve richiedere 50 MB di memoria aggiuntiva, ma nessuna è disponibile perché questa enorme cache del disco viene ancora scaricata, l'applicazione si bloccherà fino a quando non sarà disponibile. Tenere un piccolo buffer a portata di mano consente al sistema di risolvere questo problema con un ritardo minimo dal punto di vista dell'utente.