Perché le app sono così lente inizialmente quando si passa a loro, anche se ho RAM libera?


9

Sul mio PC Windows 7 (64 bit), quando ho alcuni programmi affamati di risorse in corso e una mezza dozzina di altri, quando passo a un'app che non uso da un po ', ci vuole molto tempo per rispondere e sento che il disco rigido funziona molto. Presumo che stia ottenendo dati dal file di paging. Nel Task Manager di Windows mostra che sto usando circa il 75% della RAM fisica, con il resto diviso circa il 50/50 tra cache e libero.

Anche se la RAM è disponibile, i dati sono stati spostati dalla RAM per essere solo su disco? Come posso rendere altri programmi più reattivi? Aumentando la mia RAM da 4 GB a 8 GB questo accelera quando si passa da un programma a un altro?


Nota che avrai bisogno di Windows 7 a 64 bit per utilizzare più di 4 GB. L'aggiunta di più memoria aiuta molto, quindi imposta il file di paging su Min 200 MB / Max 200 MB.
Michael9000,

Scommetto che probabilmente è a causa della parte "Ho qualche programma affamato di risorse in corso" .
surfasb,

Risposte:


7

Windows deve fare un compromesso tra velocità effettiva e latenza.

Se mantenesse le applicazioni nella RAM, anche se non erano state utilizzate per un lungo periodo di tempo, il throughput ne risentirebbe. La RAM fisica usata ma inattiva ridurrebbe la RAM disponibile per altre applicazioni e il sistema.

Windows prende la decisione di eliminare la memoria a cui non si accede da molto tempo. Ciò consente di utilizzare più RAM fisica come cache del disco e migliora in modo significativo il throughput dell'applicazione.

Il compromesso è che quando queste applicazioni alla fine hanno bisogno di accedere alle pagine di memoria a cui non si è avuto accesso da un po ', potrebbero non essere residenti. In questo caso, l'applicazione deve attendere un momento mentre vengono riletti nella RAM.

Windows in genere fa un ottimo lavoro nel realizzare questi compromessi, e non consiglierei di provare a ottimizzarlo troppo. Puoi migliorare la latenza, ma ci sarà un'enorme penalità per il throughput e, peggio, puoi entrare in uno stato in cui alcune cose semplicemente non funzionano. (Ad esempio, se disabiliti il ​​tuo file di paging, tra due mesi potresti scoprire che stai modificando un'immagine di grandi dimensioni o qualcosa del genere e non riesci semplicemente a salvarlo perché le allocazioni di memoria falliscono sempre.)

Ovviamente, puoi sempre aggiungere più RAM. È assurdamente economico in questo momento. E ciò rende meno probabile che Windows dovrà fare qualche compromesso in primo luogo.


1
Per quanto riguarda la disabilitazione del file di paging, è possibile che il tuo sistema potrebbe semplicemente causare un arresto anomalo.
surfasb,

6

Windows avrà impaginato i programmi dalla memoria e sul disco. Non conosco l'algoritmo che utilizza, ma non sarei sorpreso se guardasse da quanto tempo l'applicazione era inattiva.

Windows proverà a massimizzare la quantità di RAM fisica libera utile, quindi l'aggiornamento della memoria a 8 o anche 12 GB migliorerebbe la capacità di risposta del sistema, soprattutto se si eseguono diverse applicazioni "assetate di risorse".


3
Indica sicuramente da quanto tempo la memoria è inattiva. Quando Windows vuole più RAM fisica libera, la prima cosa che scarterà (o eliminerà la pagina) sono le pagine di memoria a cui non si accede da molto tempo.
David Schwartz,

0

Puoi controllare in Task Manager di Windows quale programma sta usando così tanta RAM.

Per esperienza personale, trovo il file di scambio non necessario sui PC con 4 GB + RAM. È possibile disabilitare completamente lo scambio per vedere se è la causa del problema.

Inoltre, ci sono servizi Windows che preferisco disattivare, in quanto tendono a creare molti I / O su disco non necessari: Superfetch, ReadyBoost, Ricerca di Windows, Windows Defender, Volume Shadow Copy e Distributed Link Tracking.


2
Controlla l'eccellente sito di BlackViper per vedere quali servizi è possibile disabilitare in modo sicuro
Michael9000,

1
Disattivare Superfetch insieme al file di paging è un errore enorme. Questo è già stato discusso numerose volte.
surfasb,
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.