Come trovo cosa sta divorando tutta la memoria del mio sistema? (non SuperFetch)


62

Come si possono diagnosticare / scoprire i problemi relativi alla memoria, se Task Manager sembra non riportare correttamente?

Devo avere una perdita di memoria o qualcosa del genere - Sono al 75% di utilizzo dei miei 12 GB di memoria, ma l'elenco degli Task Manager dell'utilizzo della memoria dei processi non viene aggiunto (sì, "Mostra processi da tutti gli utenti" è selezionato ).

Sembra che questo "phantom" utilizzo della memoria cresca in relazione alla durata del sistema. Mostra che ci sono 118 processi totali. Oltre ai primi 5, tutti hanno meno di 50 MB.

Il processo principale è firefox, con 2,6 GB. Adobe Premiere a 900 MB. Plugin-container a 300 MB. Pale Moon a 275 MB. Explorer.exe a 94 MB.

Come posso trovare ciò che sta esaurendo il resto della mia memoria nel mondo? Sembra che Task Manager non stia vedendo tutto ciò che viene utilizzato. Forse c'è qualche tipo di perdita di memoria? O il programma non sta rilasciando correttamente la memoria utilizzata?

Rapporti di monitoraggio risorse (fare clic per una versione più grande):

Stampa monitor risorse

NOTA:

  1. Poiché il mio disco rigido principale è un SSD, SuperFetch è disabilitato sul mio sistema.
  2. E capisco il principio che l'ariete inutilizzato è "spreco" di ariete, per così dire. Tuttavia, quando vedo il mio utilizzo della memoria quasi utilizzato per raggiungere il picco della capacità, mi impedisce di eseguire / caricare i programmi successivi (per mia preoccupazione) e mi manda persino all'attività di chiudere molti (con effetti molto limitati sulla riduzione dell'utilizzo della memoria, almeno evidentemente e in breve tempo).
  3. Quando la memoria si riempie, odio vedere il file di pagina da 1 GB sul mio SSD espandersi al limite di 6 GB che ho impostato, e io "sto sudando" con la consapevolezza che il mio "povero" SSD è probabilmente ridotto a polvere come Windows pesantemente / sfrutta in modo sfrenato come un memory stick a tutti gli effetti. (In quella nota, dovrei solo limitare il file della pagina a un 1 GB statico?)

4
solo un sidenote: usare la RAM non è di per sé una cosa negativa. la memorizzazione intelligente delle cose spesso accelera le cose. se non hai un problema come "omg, il programma xyz si avvia così lentamente che a malapena riesco a prenderlo perché deve buttare via altre cose dal ram" .. allora potrebbe non essere affatto un problema.
Akira,


Grazie, ma poiché SuperFetch è disabilitato sul mio sistema (con l'unità SSD principale), la domanda è diversa. Aggiornamento della domanda originale.
Coldblackice,

@Coldblackice Solo perché la risposta (non accettata) non ti aiuta non significa che non sia la stessa domanda. L'OP dell'altra domanda ha anche detto che cambiare SuperFetch non ha aiutato. :)
Ƭᴇcʜιᴇ007,

Vero, ma in questo caso non è la risposta corretta, dando la necessità di un'altra domanda. Domanda aggiornata per riflettere questo specifico.
Coldblackice,

Risposte:


58

Di solito puoi ottenere una migliore comprensione di ciò che sta esaurendo la tua memoria con strumenti come RamMap .

inserisci qui la descrizione dell'immagineclicca per ingrandire

Spesso, la memoria può essere utilizzata da file mappati in memoria che sono stati estratti nella RAM per aumentare le prestazioni.

Prendi nota della colonna attiva in RamMap. Questa è la memoria che viene attualmente utilizzata. Gli indicatori relativi alla memoria libera possono spesso essere fuorvianti. Ciò include strumenti di Windows come Task Manager.

Ulteriori informazioni


Volevo anche affrontare alcuni punti aggiuntivi della tua domanda.

Tuttavia, quando vedo il mio utilizzo della memoria quasi utilizzato per raggiungere il picco della capacità, mi impedisce di eseguire / caricare i programmi successivi (per mia preoccupazione) e mi manda persino all'attività di chiudere molti (con effetti molto limitati sulla riduzione dell'utilizzo della memoria, almeno evidentemente e in breve tempo).

Il tuo ragionamento va benissimo. Tuttavia, a meno che non si verifichino problemi dovuti a situazioni di memoria insufficiente, è necessario astenersi da questa pratica. Il sistema operativo dovrebbe gestire questa attività e scaricare i dati nel file di paging quando è richiesta memoria fisica.

Forse, stai anche usando l'indicatore sbagliato per la tua pratica. Vuoi dare un'occhiata al tuo Commit Charge ( terminologia di Process Explorer ).

inserisci qui la descrizione dell'immagine

Il costo di commit è la somma di tutta la memoria utilizzata. Puoi vedere nello screenshot, c'è anche un limite. Quel limite è la dimensione della mia memoria fisica + la dimensione del mio file di paging. Se questo limite dovesse essere raggiunto, sarebbe un problema.

Il che ci porta al nostro prossimo argomento.

Quando la memoria si riempie, odio vedere il file di pagina da 1 GB sul mio SSD espandersi al limite di 6 GB che ho impostato, e io "sto sudando" con la consapevolezza che il mio "povero" SSD è probabilmente ridotto a polvere come Windows pesantemente / sfrutta in modo sfrenato come un memory stick a tutti gli effetti. (In quella nota, dovrei solo limitare il file di paging a uno statci 1 GB?)

Secondo me, ci sono diverse cose che non vanno qui. In generale, dovrebbe essere fortemente sconsigliato di impostare limiti sulla dimensione del file di paging. Mark Russinovich lo spiega nei video che ho linkato sopra (molto meglio di quanto potessi mai).

Da ciò possono venire solo cose cattive. Cosa dovrebbe fare Windows quando è necessario scaricare più di 6 GB di dati nel file di paging ma è stato limitato a 6 GB? Questo è un grosso problema.

Consenti a Windows di gestire il file di paging. L'unica cosa che ti consiglio vivamente di fare è spostare il file di paging dal tuo SSD. Tom Wijsman lo spiega in modo eccellente nel suo post sul blog Massimizzare la durata del tuo SSD , che ti consiglio di leggere.


1
Ahhh, capisco. Sì, l'utilizzo della memoria "fantasma" sembra provenire dalla categoria File mappato (e in particolare dalla colonna Standby di questo). Quindi Task Manager non segnala che questi file vengono mappati, solo che la memoria viene utilizzata?
Coldblackice,

2
Grazie per l'aiuto e l'addendum. Per quanto riguarda la tua nota sul file di paging e SSD - ho sentito l'esatto contrario (e quindi perché l'ho fatto così). Non sto dicendo che ho il "diritto" definitivo in alcun modo, ma ho letto che il file di paging è -best- su un SSD a causa dei vantaggi di velocità dell'SSD. E per quanto riguarda il degrado della vita dell'SSD, ho sentito che è trascurabile, purché il file di paging sia limitato.
Coldblackice,

1
Come consentire a Windows di gestirlo - Windows vuole consentire al mio file di paging di espandersi fino a 18 GB! Sfortunatamente, non posso permettermi quella quantità di spazio sul mio SSD per il paging. Avevo presunto che 12 GB di memoria sarebbero stati più che ampi per Windows, con quale memoria, stranamente, Windows sembra assorbire rapidamente tutta la quantità disponibile, apparentemente memorizzando nella cache tutto ciò su cui può mettere le mani :) Pertanto, temo che se gli permetto di avere il file di paging che desidera, troverà abbastanza file da mappare in memoria per passare rapidamente al riempimento del file di paging nella sua interezza.
Coldblackice,

1
@Coldblackice: mi dispiace non poterti convincere. Per favore, togli solo 1 cosa da questo, ci sono pochissime persone che hanno una corretta comprensione della gestione della memoria di Windows. Tuttavia, molte persone sono pronte a offrire raccomandazioni (ovviamente, me compreso). Chiediti, se limitare le dimensioni del file di paging è utile, perché non è l'impostazione predefinita? Inoltre, è molto improbabile che un file mappato in memoria venga scaricato nel file di paging, poiché esiste già in un file (quello mappato in memoria). Quindi la tua paura in questo senso è, molto probabilmente, fuori luogo.
Der Hochstapler,

1
@Oliver Salisburgo, una cosa da tenere a mente è che Windows 7 è stato progettato per girare la ruggine, non SSD e 1-4 GB di RAM, non 12. Non è vangelo, dovrebbe essere ovvio che ci sono momenti in cui una taglia- non si applicano le impostazioni predefinite, e la soluzione non è quella di continuare a sostenere di non pensarci e di non toccare mai quelle impostazioni predefinite, indipendentemente da quando qualcuno vuole capire più profondamente un problema. Va bene per nessuno, ma non per tutti.
SilverbackNet,

2

Nel mio caso, la ragione dell'utilizzo elevato della memoria era una macchina virtuale hyper-v per la quale avevo abilitato le impostazioni di memoria dinamica per la RAM.

Lo strumento RamMap mi ha aiutato a individuare la causa principale.

Innanzitutto, ho notato in RamMap che Driver Locked ha consumato più di 29 GB della mia RAM da 32 GB. Quindi, ho trovato alcuni articoli che spiegavano che l'utilizzo elevato della memoria bloccata dal driver può essere causato dalla memoria dinamica HyperV abilitata, e poi l'ho appena confermato.


0

Se vedi che lo snap non mostra tutto il processo e il processo mostrato stesso occupa 5,8 GB di memoria. dallo snap mostrato mostra che ci sono molti programmi in background non necessari in esecuzione. Utilizzando msconfig rimuovi i programmi di avvio non necessari e aumenta anche la tua memoria virtuale (1,5 volte la tua memoria fisica).


Come aumenti la tua memoria virtuale ? E qual è il ragionamento alla base del fattore 1.5?
Der Hochstapler,

Mentre aumentare la memoria virtuale (aumentando la dimensione del file di paging) è prezioso, può portare solo a un sacco di paging, che rallenterà la macchina. Se è stato impedito l'esecuzione di tutti i programmi non necessari, la cosa migliore da fare è installare più RAM.
Fran,

Per aumentare la tua memoria virtuale segui il percorso: Vai su MY COMPUTER properties-> seleziona "Impostazioni di sistema avanzate" -> vai alla scheda 'avanzamento'-> seleziona le "impostazioni" sotto PERFORMANCE-> vai alla scheda avanzata-> sotto Memoria virtuale Seleziona Cambia-> Seleziona Dimensione personalizzata per dare min. e max. dimensioni ...... Si consiglia di aumentare la memoria virtuale fino a 1,5 volte la memoria fisica (ad es. se si dispone di 4 GB di RAM, è possibile assegnare fino a 6 GB di memoria virtuale). Ma anche il suggerimento di FRAN è corretto. Prova a ridurre al minimo l'applicazione in background non necessaria.
Tiki,

Quindi è dimostrato che nel complesso è meglio aumentare o diminuire il file di paging, in termini di prestazioni generali non elaborate? 1.5x è davvero necessario?
Coldblackice,

0

Puoi provare RAMMAP di Sysinternal ma mostra l'utilizzo della memoria in un modo diverso rispetto a Task Manager e Resource Manager e non è quindi troppo utile.

Task Manager e Monitor risorse non mostrano la filecache e le sue dimensioni. Fa parte della parte "In uso" della memoria (Vedi Resource Monitor). La cache dei file può raggiungere dimensioni MOLTO grandi, specialmente quando si mantiene il computer in funzione per ore. L'utilizzo complessivo della memoria del programma aumenta con il passare del tempo, a causa di una crescente cache di file e perdite di memoria. Alcuni programmi hanno semplicemente una pessima gestione della memoria.

Un modo per ridurre al minimo l'utilizzo della memoria è ridurre la quantità di processi. (Perché 118 processi sono in esecuzione? Perché sono in esecuzione più istanze di Explorer.exe?)

C'è un programma che ti aiuta a ridurre regolarmente l'utilizzo della memoria e a comprimere regolarmente la cache dei file. (CLEANMEM di PcWinTech). Ridurre l'utilizzo della memoria in questo modo riduce anche o addirittura elimina la necessità per Windows di scrivere i dati dalla memoria al file di scambio (sul tuo SSD). Quindi, aumenta la durata del tuo SSD. La riduzione dell'utilizzo della memoria rende inoltre disponibile più memoria "Standby", consentendo a Windows di precaricare più file nella memoria Standby, accelerando il sistema.


1
Sei affiliato con questo software? L'ultimo paragrafo sembra che il marketing mi parli e vedo che stai raccomandando la stessa cosa su 2 vecchi post.
Arjan,

1
Sì, ho aiutato l'autore del programma a migliorare il programma. Ma non ho motivi (finanziari) per promuovere il programma perché il programma è gratuito.
Willy2,

0

RAMMap ha mostrato che il C:\Windows\SoftwareDistribution\DataStore\DataStore.edbfile mappato stava sprecando 400 Mb della mia preziosa RAM da 4 Gb.

Inoltre Windows Update ha costantemente rallentato il sistema in fase di aggiornamento di questo enorme file.

Questo potrebbe essere un problema comune per molti PC di fascia bassa.

Vedi PC Boots quindi scrive il file datastore.edb gigante rallentando il computer per una possibile risoluzione.

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.