RamMap "Empty standby list" velocizza drasticamente il PC. C'è un modo migliore per farlo?


24

Molte persone vengono informate su come funziona la memorizzazione nella cache del gestore della memoria di Windows leggendo i white paper di Microsoft, ecc. Tuttavia, ci sono relativamente pochi documenti che descrivono problemi di prestazioni del mondo reale (lentezza) relativi a file mappati molto grandi / in crescita e elenchi di standby.

Ho un PC Win7 64 bit (8 GB di RAM) che funge da server. Non riesco ad aggiungere altra memoria ad esso. Ha un sacco di sintonizzatori TV che registrano / scrivono diversi file mpeg2 giganteschi simultanei (almeno 3-8 GB ciascuno) su un HDD 24/7. A seconda di quanto il mio PC è occupato a registrare programmi TV, dopo 1-3 giorni, il mio PC diventa lento.

Guardando semplicemente Task Manager di Windows, sembra che non ho molte applicazioni di grandi dimensioni aperte; e molta "memoria disponibile". Anche se chiudo tutti i processi attivi, il PC rimane lento. Tuttavia, quando utilizzo RamMap, vedo che questi file mpeg2 di grandi dimensioni diventano file mappati nell'elenco di standby attivo; che nel tempo rende il mio PC molto lento. Se seleziono "Svuota elenco standby" in RamMap, il mio PC diventa immediatamente estremamente reattivo; come se l'avessi appena riavviato. Non c'è nient'altro che posso fare per affrontare la lentezza. In effetti, il PC non si riprenderà mai da questa lentezza a meno che non svuoti l'elenco di standby o riavvio.

Ho un'utilità da riga di comando, EmptyStandbyList.exe, che ho scoperto che elimina silenziosamente l'elenco di standby invece di doverlo fare nella GUI di RamMap. Tuttavia, sfortunatamente, elimina anche gli elementi più piccoli nell'elenco di standby che sono molto utili ai fini delle prestazioni per rimanere nell'elenco di standby.

Durante la ricerca su Google, ho trovato altre persone che hanno quasi lo stesso identico problema. Tuttavia, la maggior parte delle loro domande rimane senza risposta; senza una vera spiegazione del perché ciò accada; e, nessun modo definitivo per risolvere il problema diverso dalla tecnica "Elenco di attesa vuoto".

Ho visto menzioni di un servizio / utility MS chiamato "Cache dinamica"; ma non sono sicuro se cura esattamente quello che voglio. Inoltre, la versione Win7 / Win2008 R2 sembra essere disponibile solo tramite il supporto MS. Ho anche visto un paio di utility che impostavano i "limiti di cache NT min / max"; ma quelli sembrano specifici per i Working set per i processi, non per gli elenchi di standby.

Spero che qualcuno che possa pensare fuori dagli schemi possa pensare a una cura più aggraziata per me invece che dover usare brutalmente svuotare regolarmente l'intero elenco di standby; e, si spera, abbia una spiegazione definitiva al sintomo che io (e altre persone) stiamo vedendo. Il motivo per cui ho citato "fuori dagli schemi" è perché ci sono già molte persone a cui piace solo recitare come i file mappati e le priorità dell'elenco di standby "dovrebbero" funzionare su carta; che non è molto utile per me.


Mi rendo conto che questo è un vecchio post e che questo suggerimento potrebbe essere difficile da testare, ma se un giorno ne avessi l'opportunità potresti voler provare la tua configurazione con un'edizione server di Windows. Forse ci sono differenze ancora meno documentate nel modo in cui un sistema operativo del server gestisce la memoria che andrebbe a tuo vantaggio.
Dico Reinstate Monica il

Risposte:


2

L'elenco di standby è la cache di Superfetch e la "cache dinamica" risolve un problema diverso. Il servizio risolve un problema per cui la cache dei metadati NTFS è troppo elevata. Ma Stadnbylist e questa cache sono 2 cose diverse. La cache NTFS viene mostrata come memoria utilizzata, mentre la cache di standby contiene dati, ma può essere svuotata molto velocemente se si è veramente nuovi nella memoria per archiviare i dati in essa contenuti.

Nel forum sysinternals l'utente wj32, l'autore di Process Hacker, ha creato uno strumento da riga di comando che fa quello che vuoi:

http://forum.sysinternals.com/rammap-empty-standby-list_topic27297_post132769.html#132769

Provalo se "risolve" il tuo problema.


5
Quello strumento da riga di comando non è esattamente lo stesso EmptyStandbyList.exe menzionato dall'OP nel suo post e per il quale desidera un'alternativa migliore, forse più mirata?
Karan,

2
Uhh ... Hai letto la riga che inizia "Comunque, sfortunatamente ...", e il fatto che lui vuole "una cura più aggraziata"?
Karan,

4
È bello sapere che ci sono persone che si prendono il tempo di leggere un po 'più attentamente l'OP prima di pubblicare. Tuttavia, ho imparato un paio di cose che non sapevo prima. Sembra che ciò che sta effettivamente causando il problema di prestazioni sia correlato alla cache Superfetch; non cache dei metadati NTFS. RamMap mostra entrambi. So che sotto Windows Vista, ho dovuto disattivare completamente il servizio Superfetch perché non sapeva come gestire le registrazioni TV (dalla mia app DVR); e, stava causando un uso eccessivo del mio HDD. Al momento ho il servizio superfetch Win7 per migliorare l'avvio e le applicazioni che uso in memoria.
user22667

2
Sto usando un SSD per la mia partizione di avvio; che ha solo 256 GB di dimensione. Sono curioso di sapere se ci sono delle impostazioni in Superfetch che potrebbero risolvere questo problema; come, sopprimendo determinati tipi di file da superfetch? Spero che qualcuno che sappia come funziona tutto ciò spieghi perché ciò sta accadendo e offra una soluzione migliore di quello che ho.
user22667

3
svuotando l'elenco di standby senza modificare le impostazioni di rapporto / limite del gestore della memoria, viene richiesto semplicemente a Windows di iniziare a riempire la memoria ora libera. Questo elimina anche le cose utili effettive presenti nell'elenco di standby ed entrambe le cose riducono la velocità della macchina da ciò che è in grado di fare.
BeowulfNode42

1

Potrebbe essere che la lentezza provenga da Windows costringendo le cose a essere caricate / salvate dall'unità Swap, che con ogni video registrato, l'elenco di standby cresce e con una grande unità Swap altri programmi (in background) ora vengono spinti nell'unità Swap, rallentando la macchina.

Se questo PC viene utilizzato solo per registrare programmi TV, forse una soluzione potrebbe essere quella di rendere l'unità Swap piccola quanto Windows consente di impostare, che credo sia 16 MB. Non spegnere completamente l'unità di scambio, perché Windows creerà un'unità di scambio in segreto.

Alcuni come non riesco a immaginare che Windows diventerebbe lento, se solo leggesse i dati dalla RAM, mentre nessun nuovo programma viene caricato dal disco.

Qoute dal documento MS http://download.microsoft.com/download/7/E/7/7E7662CF-CBEA-470B-A97E-CE7CE0D98DC2/MemorySizingGuidanceWin7.docx :

"Windows 7 SuperFetch ™ collabora con il gestore della memoria per impostare le priorità per le pagine nell'elenco di standby. Le pagine che sono state recentemente inserite nell'elenco di standby iniziano con un'alta priorità, che diminuisce lentamente nel tempo.

Se il sistema ha memoria insufficiente per gestire il carico di lavoro, solo una piccola percentuale delle pagine nell'elenco di standby ha una priorità bassa. Monitorando il numero di pagine con priorità diverse, è possibile determinare se il sistema trarrebbe vantaggio dall'aumento della quantità di RAM installata. "

Nel complesso, l'obiettivo è garantire che il sistema sia in grado di mantenere in memoria le pagine a cui fa riferimento di recente e di disporre di memoria sufficiente per soddisfare qualsiasi esigenza di memoria immediata. "

Forse anche il programma di registrazione TV, poiché continua a funzionare e non si ferma, ha tutte le pagine che passano all'elenco di standby contrassegnate come priorità più alta spingendo fuori altre cose, che normalmente accelererebbero Windows. Si potrebbe pensare che quella roba venga rilasciata quando la memoria si sta esaurendo e / o quando non esiste alcun file di Swap che Windows non può iniziare segretamente a utilizzare pesantemente l'unità di Swap rallentando le cose. Ciò presuppone che i dati nell'elenco di standby non vengano caricati sull'unità Swap.

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.