Perché la mia memoria "commit" è molto più alta del mio spazio RAM attuale?


23

http://i.imgur.com/cilRmfD.png

Ho eseguito due scansioni antivirus e nessuno dei due ha finora trovato nulla (Malware Bytes e Avira Rescue). Durante il gioco visualizzerò i popup di Windows che dicono che il mio sistema ha poca memoria e mi consiglia di chiudere il gioco. Questo può accadere anche durante la navigazione. Il mio computer sembra diventare molto lento e si blocca spesso, ad esempio quando si fa clic su un collegamento da un programma di messaggistica per aprirlo nel mio browser.

Non sono sicuro di ciò che sta causando questo. Il mio utilizzo della memoria nella scheda Processi non corrisponde a una percentuale così alta della mia memoria effettiva.


Come nota a margine, il mio utilizzo del disco dovrebbe aumentare fino al 100% a volte? La ricerca sembra dirlo.


1
pubblicare dettagli dome sull'hardware. Usi un dispositivo Broadcom Wifi?
magicandre1981,

Risposte:


42

"Perché la mia memoria" commit "è molto più alta del mio spazio RAM attuale?" Perché "impegnato" è principalmente lo spazio degli indirizzi virtuali di processo privato e alcuni di questi possono essere nella RAM e altri nel file di paging.

E alcuni potrebbero non occupare alcun spazio di archiviazione! Questo è se è stato allocato ma non è mai stato effettuato l'accesso, quindi non "in errore", ancora. Ma conta ancora contro l'archiviazione "commettere limite" perché se è si accede in futuro, si occuperà poi . Ed è troppo tardi perché il sistema dica "scusa, siamo tutti fuori posto".

L'intero punto della memoria virtuale è che può essere molto più grande di quella fisica (RAM), no?

btw ... sembra che tu abbia un file di paging di circa 24 GB, dato che hai 8 GB di RAM e il limite di commit è di 32 GB. Quindi il tuo "impegno" potrebbe arrivare a 32 GB. (E al momento è quasi così alto, quindi ridurre o eliminare il file di paging sarebbe una cattiva idea.)

Considerando che la RAM utilizzata è proprio questo. Quindi, ovviamente , la RAM utilizzata + il file di paging utilizzato può essere maggiore della RAM utilizzata.

Parte dell'intero punto della memoria virtuale, dopo tutto, è che puoi avere più memoria virtuale in uso rispetto alla memoria fisica (RAM).

Se vuoi scoprire cosa sta usando la memoria impegnata devi guardare la scheda "Dettagli" di Task Manager e abilitare la colonna "Dimensione commit".

Né il totale delle colonne "Commit size" si sommerà al "commit charge" (30,1 GB sul computer), perché altre cose contribuiscono al commit commit: pool non paginato e paginato e alcuni meccanismi più "sottili" come il copy-on -scrivere sezioni, sezioni supportate da file di paging, mappature AWE ... ma di solito sono piccole rispetto al vas privato del processo)

In quella scheda, la colonna "Memoria (set di lavoro privato)" corrisponde a ciò che la scheda "Processi" mostra per "Memoria". Questa è la RAM attualmente assegnata a ciascun processo per il suo spazio di indirizzi virtuali impegnati. Il resto sarà nel file di paging. Ma, ancora una volta, i processi hanno altri tipi di spazio degli indirizzi, per lo più del tipo chiamato "mappato", e una parte di questo sarà anche nella RAM. Esistono altre cose a livello di sistema create dal sistema operativo, non specifiche di alcun processo, che utilizzano anche la RAM.

In breve, la colonna "Memoria" della scheda "Processi" non dovrebbe sommarsi alla RAM totale utilizzata. Mostra solo la quantità di utilizzo totale utilizzata privatamente da ciascun processo.


Stavo per pubblicare "@Ryld Se vuoi saperne di più sulla memoria virtuale leggi questa risposta davvero buona da un'altra domanda" ... Poi ho notato che la risposta a cui stavo collegando è stata scritta anche da te :). Penso di aver indirizzato altre 4 o 5 domande sulla memoria virtuale a quella risposta, grazie per aver fatto una risposta così approfondita.
Scott Chamberlain,

2

Windows utilizza un file di paging, che è come la RAM, ma memorizzato nel disco rigido. È molto più lento, ma è utile quando è necessario utilizzare più memoria di quella presente nel computer. Windows memorizza parti della memoria che non sono state utilizzate per un po 'nel file di paging quando è necessario memorizzare più memoria ma non ha spazio nella RAM per archiviarlo.

La memoria impegnata è la memoria che hai nel tuo computer più il file di paging. A volte sembra che i programmi utilizzino troppa memoria e che Windows memorizzi alcune cose nel file di paging. Il file di paging non era abbastanza grande per adattarsi a tutte le finestre di memoria in esso contenute, quindi doveva aumentare le sue dimensioni. Ha continuato ad aumentare le sue dimensioni, fino a raggiungere il suo limite. Ora Windows non può aumentare ulteriormente il file di paging, il che significa che non può archiviare memoria aggiuntiva, quindi l'unica opzione è quella di dirti di chiudere alcuni programmi per ridurre l'utilizzo della memoria. Il motivo per cui il tuo computer è lento è perché deve caricare elementi dal file di paging, che è molto più lento rispetto al caricamento diretto dalla RAM e rende l'utilizzo del disco molto elevato, poiché il file di paging è memorizzato nel disco rigido.

Non dovresti avere tanti programmi aperti come te e assicurarti che il tuo computer abbia memoria sufficiente per i giochi che stai giocando e i programmi che usi. Spero che questo possa essere d'aiuto!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.