Troppa memoria per abituarsi


13

Mi sento così per un po ', osservando mentalmente il task manager ballpare quanta memoria fisica dovrebbe essere in uso e notando una grande disparità. Finalmente sono riuscito a misurarlo. Prendendo i risultati dell'elenco compiti e aggiungendo, ha dato circa 3,87 GB. Il Task Manager mi ha detto che stavo usando 4.6 GB di memoria. Sembra una grande disparità. Dov'è andato?

EDIT: Quindi è chiaro, non ha intenzione di precaricare. È stato anche suggerito che fa parte del sistema operativo, ma non parte di nessuno dei processi di sistema. Se questo è vero, trova un modo per indurre il sistema operativo a dirmi quanta memoria viene utilizzata. Dal momento che voglio scoprire dove è andato il ricordo, chiedermi di guardare la differenza non fa nulla per me.

EDIT 2: Non è il seguente:

  1. Il nocciolo
  2. La cache
  3. Memoria riservata all'hardware

Immagine delle risorse occupate. Non sono sicuro di cosa farà ma ... inserisci qui la descrizione dell'immagine


Quale sistema operativo stai usando? Otterrai risposte migliori con ulteriori informazioni :)
Cam Jackson

Le scuse vedono il nuovo tag :)
soandos,

@soandos: hai provato a disabilitare il superfetch e il riavvio? Fa la differenza?
user541686

Sì, l'ho fatto e no, ma sarebbe anche bello sapere quanta memoria ha il prefetch.
soandos,

2
Prefetch NON utilizza memoria, memorizza nella cache il bytecode più utilizzato dalle applicazioni compilate. Non disattivarlo o le prestazioni del sistema diminuiranno drasticamente.
Breakthrough

Risposte:


5

Suggerisco di scaricare la Suite Sysinternals da Microsoft . Include diverse utility che ti daranno più informazioni rispetto a Task Manager. Dai un'occhiata alle utility Process Explorer, RAMMap, VMMap e Process Monitor. Per ottenere la maggior parte delle informazioni, potrebbe essere necessario eseguire una configurazione per modificare le informazioni visualizzate.

Inoltre, poiché sei interessato alla memoria di Windows, ecco una serie di post sul blog di Mark Russinovich , uno degli sviluppatori / fondatore di Sysinternals. Aiuterà a dare un senso alle informazioni fornite dalle utility.


RAMMap sembra dirmi che il task manager sta sovrastimando l'utilizzo totale di RAM di circa 100 MB, ma secondo l'elenco di memoria che posso estrarre usando l'elenco delle attività, RAMMap sta anche sopravvalutando di circa 200 MB (elenco delle attività +200 = RAMMap, RAMMap + 100 = taskmanger)
soandos,

1
Non sono sicuro di quello che stai vedendo e non sono su un computer Windows per esaminarlo. Tuttavia, se vuoi ancora scavare più a fondo, chiedi sui forum Sysinternals. Ci sono alcune persone molto intelligenti che sono molto "dentro" gli interni di Windows. Avranno più familiarità con i punti più fini della gestione della memoria di Windows.
Joe Internet

Per riferimento futuro, ecco i discorsi di Mark Russinovich sul TechEd 2011 sulla gestione della memoria di Windows: channel9.msdn.com/Events/TechEd/NorthAmerica/…
Joe Internet

Questa "risposta", sebbene accettata, non risponde alla domanda! Suggerisce semplicemente strumenti e letture da investigare.
Jamie Hanrahan,

8

Windows 7 utilizza la memoria "non utilizzata" per preconfigurare le cose per rendere le cose più veloci. Se hai bisogno di questa memoria, verrà liberata.

È una caratteristica, non un bug;)

Da technet

Dopo aver usato un sistema Windows Vista per un po ', vedrai un numero basso per il contatore Memoria fisica libera nella pagina Prestazioni di Task Manager. Questo perché SuperFetch e la cache di Windows standard utilizzano tutta la memoria fisica disponibile per memorizzare nella cache i dati del disco. Ad esempio, al primo avvio, se si esegue immediatamente Task Manager, il valore della memoria libera dovrebbe diminuire all'aumentare del numero della memoria cache. Oppure, se esegui un programma affamato di memoria e poi lo esci (uno qualsiasi degli "ottimizzatori RAM" freeware che alloca grandi quantità di memoria e quindi rilascia la memoria funzionerà), o semplicemente copia un file molto grande, il numero gratuito sarà aumenta e il grafico di utilizzo della memoria fisica diminuirà quando il sistema recupera la memoria deallocata. Nel tempo, tuttavia, SuperFetch ripopola la cache con i dati che sono stati costretti a esaurire la memoria,


1
1) quindi perché non è elencato nella memoria per quel processo? 2) come faccio a sapere che è il caso qui?
soandos,

credo che superfetch sia sotto svchost. Potrebbe essere conteggiato come memoria del kernel. Puoi provare ad attivare e disattivare il superfetch per verificare.
Journeyman Geek

Non ha fatto niente.
soandos,

La memoria utilizzata da Superfetch si trova nell'elenco delle pagine di standby e viene conteggiata come parte di "Disponibile". Non viene considerato "in uso" perché può essere riproposto (rimosso dall'elenco Standby e inserito in un processo) proprio come tutto il resto nell'elenco Standby e anche tutto nell'elenco Free e Zero.
Jamie Hanrahan,

5

I numeri che vedi sono totalmente imprecisi e dovrebbero essere presi solo come indicazioni.

Un sistema operativo è un'entità estremamente complessa e un programma semplice come Task Manager non può mai totalizzare l'intero utilizzo, molte parti di esso sono semplicemente inaccessibili nella modalità Utente in cui viene eseguito. Alcuni degli elementi che sono inaccessibili ad esso, o semplicemente impossibili da attribuire a qualsiasi "compito", sono le tabelle di segmentazione hardware, le allocazioni di memoria condivisa, la memoria allocata dal kernel, le allocazioni di memoria della pagina, la memoria del dispositivo e molti altri.

Ulteriori spiegazioni sono disponibili in Come interpretare la scheda Prestazioni di Task Manager? , ma ho scelto di citare questa parte:

Cosa ti aspetti da un programma che si definisce comunque "Task Manager"? Non c'è nulla di chiamato "task" nel kernel del sistema operativo: il sistema operativo ha "processi" e "thread". DOS aveva "compiti". L'hardware Intel ha strutture "task", ma il sistema operativo non le utilizza perché è più veloce per farlo da solo.

Task Manager è un programma Windows molto vecchio, ha problemi anche nell'attribuzione di funzioni ai servizi e i numeri che mostra dovrebbero essere presi con un pizzico di sale. Probabilmente sta perdendo ampie aree di memoria che non riesce a contare o attribuire a nessun "compito".


Quindi quale programma dovrei usare per capirlo? PS Task Mangager ha la memoria del kernel elencata.
soandos,

1
Non esiste un programma che ti fornirà TUTTE le informazioni. Task Manager fornirà alcune informazioni e un'approssimazione, Device Manager può dire sulla memoria del dispositivo, WinObj sugli oggetti di memoria. La migliore fonte è il monitoraggio delle risorse, chiamato dalla scheda Prestazioni di Task Manager (e altrove), che in realtà è la moderna sostituzione di Task Manager.
harrymc,

Il gestore risorse fornisce un numero entro 15 del Task manager.
soandos,

Sembrano gli unici numeri che puoi ottenere dall'interfaccia di Windows. Non sono precisi, ma sono molto meglio di niente. Possono essere utilizzati per la risoluzione dei problemi (cosa che faccio molto), ma non aspettatevi che includano tutto.
harrymc,

L'idea che Task Manager sia un "programma Windows molto vecchio" è sciocca. È aggiornato con ogni versione del sistema operativo proprio come qualsiasi altra cosa. Per quanto riguarda "gli unici numeri che puoi ottenere", non hai usato Performance Monitor?
Jamie Hanrahan,

3

Come avrai notato, Task Manager può darti un'istantanea semplificata di come la maggior parte delle applicazioni influisce sul tuo sistema, ma lascia molto a desiderare. Se vuoi davvero scavare nella cache nella RAM ecc. Devi entrare in Performance Monitor. Ci vorrà un po 'di lavoro per costruire il tuo set di contatori di sistema per monitorare il tuo sistema.

Puoi arrivarci eseguendo compmgmt.msc o una ricerca di Windows per "gestione del computer" e sul lato sinistro vedrai un albero delle prestazioni che puoi espandere e approfondire.

Ecco un riferimento per alcuni degli strumenti disponibili: http://technet.microsoft.com/en-us/library/cc749249.aspx


Mentre vedo che è uno strumento molto interessante, che può fare molte cose (come evidenziato dal fatto che ci sono un sacco di contatori sotto memoria, non ho idea di quello che sto cercando. Qualche idea?
Soandos

Inoltre, l'opzione Aggiungi contatore tende ad aderire al mio schermo e devo modificare manualmente la risoluzione avanti e indietro per risolverlo (l'aggiornamento non funziona). Non è colpa tua, lo so.
soandos,

3

La memoria viene probabilmente utilizzata per il kernel. Usando Process Explorer possiamo vedere un'analisi molto più dettagliata della memoria di sistema:

Informazioni sulla memoria del kernel

Qui ho evidenziato la quantità di memoria utilizzata dal kernel, che è Paged WS + Non Paged, o circa ~ 300 MB di memoria. Questo è su un sistema appena avviato con solo il browser web e alcune altre applicazioni aperte, anche se sotto carico pesante il mio sistema domestico rompe facilmente 500 MB o persino 700 MB di memoria del kernel.


L'ho guardato e questo non da abbastanza. Grazie comunque.
soandos,

Stai chiedendo la differenza tra i numeri di Commit e di Memoria fisica?
Darth Android

No, mi chiedo perché quando eseguo strumenti diversi che dovrebbero ottenere gli stessi numeri, ottengo numeri diversi.
soandos,

2

@soandos, hai preso in considerazione quanta memoria sta estraendo il video? È molto probabile che il video stia estraendo .73 GB di RAM. Hai una scheda video decente su questa macchina? In caso contrario, utilizzerà la RAM in questo modo (come quello che so). Se sbaglio, qualcuno per favore entra qui, ma credo che questo potrebbe essere l'effetto del video che estrae dalla RAM.


Ho un Nvidia GTS 360M. Non è una grande scheda video, ma ha un GB di memoria.
soandos,

Che tipo di monitor stai usando con quale risoluzione stai usando? Inoltre, stai svolgendo attività ad alta intensità di video, come giocare a 1080p? E che tipo di RAM utilizza la scheda video (ad es. DDR1, DDR2, DDR3, DDR5)? Vorrei cercarlo da solo, ma l'ho provato con il modello di scheda video di qualcuno e ho notato che ce l'hanno fatta con alcuni diversi tipi di RAM ...
David

Standard con il computer, 1920x1080, nessuna idea. C'è un modo per misurare questo?
soandos,

Normalmente dirà sulla confezione, non sono sicuro. Se conosci quel modello esatto di carte, puoi scoprirlo su Internet. Se non è una scheda video molto potente (usando DDR2, DDR1) e stai usando 1920x1080 con un grande monitor (ad esempio, sto usando un TV 46 "TOC Samsung come mio monitor a casa), puoi masterizzare un molta memoria solo sul video ... Non sono sicuro che ci sia un modo per vedere quanta RAM sta consumando il tuo video. Tuttavia, farò qualche ricerca su di esso in questo momento. Commenterò se trovo o meno qualcosa Voglio aiutarti il ​​più possibile.
David

Attualmente sto controllando questo programma per vedere se potrebbe avere quello che stiamo cercando. È SiSoftware Sandra Lite 2011.2.17.47. La descrizione afferma che fa ciò che stiamo cercando, ad esempio quanta RAM sta consumando il video.
David,

1

La differenza che penso che stai vedendo non è perché gli strumenti non sono in grado di vedere la memoria utilizzata, piuttosto è a causa di diverse forme di misurazione. Non posso spiegarlo molto bene, ma per fortuna non è necessario, Mark Russinovich della fama di Sysinternals ha scritto un'ottima serie di post riguardanti le prestazioni dei processi in Windows. Le parti relative alla memoria fisica e alla memoria virtuale dovrebbero spiegare cosa stai vedendo.


No, non è questo il problema. Sono più interessato alla quantità totale rispetto a dove è memorizzato (RAM o HD).
soandos,

0

Penso di averlo risolto!

Ho appena trovato un suggerimento su RAMMap e si è scoperto che è µTorrent!

Non di per utorrent.exesé, ma file condivisi da µTorrent - almeno nel mio caso: uno dei file utilizzava oltre 600 MB e un altro oltre 200 MB, ecc.


-1

Parte della memoria viene utilizzata come cache. Non appena è necessaria questa memoria, viene automaticamente rilasciata. Allora non c'è bisogno di preoccuparsi.


-1 Non è la cache in quanto è 1) conteggiata separatamente, 2) facilmente spiegabile.
soandos,
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.