Perché Windows afferma di avere poca memoria quando ho spazio di scambio disponibile?


5

Ho 4 GB di RAM. Ma secondo il monitor di sistema il mio PC non usa mai più di 3,1 GB. Quando raggiunge 3,1 GB, le app utilizzate iniziano a spegnersi / arrestarsi.

Perché i restanti 800 MB non vengono utilizzati?

Ho trovato alcune risorse Web come: La memoria utilizzabile potrebbe essere inferiore alla memoria installata su computer basati su Windows 7

Ma il mio PC non dice nulla sulla memoria utilizzabile. È solo 4 GB e non limitato.

Ho trovato anche alcune altre domande qui, ma ognuna ha una parte utilizzabile visualizzata. E il mio PC non lo mostra.

immagine del pannello di controllo del sistema

Ottengo il seguente errore quasi costantemente:

immagine di errore di memoria insufficiente

Non dovrebbe usare lo swap invece di emettere errori?

Solo un pensiero: ho meno del 10% di spazio libero sui dischi e sono rossi. C'è ancora molto spazio sull'HDD, ma forse Windows prova a non usare lo swap?

Monitor di memoria: immagine del monitor di memoria

Inoltre, uno screenshot di come appare il file di scambio quando compaiono errori: inserisci qui la descrizione dell'immagine


1
Il sistema operativo caricato ha bisogno di RAM, probabilmente pari a 800 MB che ti mancano.
Hannu,

2
@DragonLord leggi attentamente. Innanzitutto è a 64 bit. In secondo luogo, vede tutta la memoria
Gacek,

2
@qasdfdsaq La riapertura è possibile sia negli stati in sospeso che in quelli chiusi. Ho modificato questa domanda per cercare di chiarire che non si pone la stessa cosa delle altre domande. Ho anche votato per riaprire questa domanda. Se questa domanda viene posta di nuovo come una nuova domanda, c'è qualche rischio di confusione perché la nuova domanda potrebbe essere considerata un duplicato di questa domanda.
Kevin Panko,

2
@Gacek Cosa ti assicura che il tuo file di scambio non venga utilizzato? L'immagine che hai pubblicato nella scheda Prestazioni di Task Manager indica avere 10 GB di RAM impegnata. Se questa domanda fosse aperta in questo momento, pubblicherei una risposta affermando che non hai 800 MB di RAM libera e che il tuo file di scambio non è abbastanza grande per soddisfare la richiesta di memoria del tuo sistema.
Twisty Impersonator,

1
@twisty In altre parole, qui è tutto normale. L'unica cosa da fare è liberare spazio sul disco rigido e / o aggiungere più chip RAM.
Kevin Panko,

Risposte:


6

Sei davvero a corto di memoria (memoria virtuale, cioè)

Dai un'occhiata al tuo Commit Charge come evidenziato nella schermata del Task Manager:

inserisci qui la descrizione dell'immagine

Primo numero = Commit corrente Secondo numero = Limite commit

Secondo questa risposta da Super User :

Il limite di commit = dimensione del file di paging corrente + dimensione della RAM - RAM assegnata permanentemente alla memoria non pagabile.

Questo è un limite rigido: Windows non può concedere richieste da parte di programmi per più memoria oltre. Questa schermata indica che hai 10 GB di possibili 10 GB assegnati ai programmi. Questo sta attivando il messaggio "Memoria insufficiente".

Cosa fare?

  1. Installa più RAM fisica. Ciò aumenterà di conseguenza il tuo limite di impegno e migliorerà le prestazioni del tuo computer.

  2. Aumenta le dimensioni del tuo file di paging . Anche questo aumenterà il tuo limite di commit, ma poiché il paging rallenta un computer, non aspettarti alcun vantaggio in termini di prestazioni.

  3. Chiudi i programmi che utilizzano più memoria. È possibile tornare alla scheda Memoria in Monitor risorse e ordinare i processi in base alla Commit (KB)colonna per vedere quali hanno il maggiore impatto sull'utilizzo della memoria. Forse hai un programma che utilizza troppa memoria che può essere chiusa. Tenere presente che "La commissione di commit totale sarà sempre maggiore della somma di questi valori, poiché il totale include allocazioni a livello di sistema come il pool di paging". ( Fonte )


Limite di dimensioni di paging aumentato. 4 GB di RAM + 10000 MB di file di paging (dimensione iniziale) mi ha dato una dimensione di commit di x / 13 GB. Spero che questo sia sufficiente per ora. Ma grazie a questo so (o penso) ora potrei utilizzare anche 16 GB di RAM. Presto riceverai nuove specifiche e prevedi di farne almeno 16 GB di spazio per ulteriori 16 GB per ogni evenienza. Il mio sistema attuale è 2/2 RAM. Mille grazie per la tua risposta. Non sapevo cosa fosse archiviato prima.
Gacek,

1
Corretta. Commit è la quantità totale di memoria salvata che è stata richiesta ma non necessariamente utilizzata. Molte applicazioni richiedono speculativamente più memoria del necessario, ma è necessario eseguire il backup fisico da qualche parte, ad esempio con RAM o un file di paging. In casi estremi potresti avere un programma che richiede 100 MB di richiesta da 100 GB e ti servirà un file di paging da 100 GB per eseguirlo.
qasdfdsaq,

1
@Twisty In realtà quello che DanielB ha detto mi è più chiaro. Potrei non essere una specifica di gestione della memoria di Windows. Sono solo un semplice programmatore di webapp e non mi interessa come Windows gestisce la memoria. Prenditi cura solo delle app per consumare il meno possibile. E l'app che alloca memoria significa per me che prende questa memoria e appartiene solo a questa app.
Gacek,

1
@Gacek Abbastanza giusto. La vera ragione per cui abbiamo una comunità è che molteplici prospettive possono fornire le informazioni più chiare.
Twisty Impersonator,

1
Solo per notare: l'impostazione del livello iniziale del file di scambio (a Windows non piace allocare il limite superiore e l'opzione controllata dal sistema non riesce qui. Non voleva andare oltre un certo punto) in alto risolve tutti i miei errori di memoria esaurita. Grazie @Twisty :)
Gacek,
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.