In che modo un'utilità di RAM libera libera la RAM?


14

Elimina la RAM utilizzata dai programmi o la trasferisce in un file di paging sul disco rigido? O pulisce semplicemente la RAM non indirizzata?

Risposte:


18

I freeer della RAM stanno costringendo altri programmi a scambiare la maggior parte delle loro pagine su disco (spesso allocando molta memoria). Se quei programmi non necessitano di quelle pagine per un po '(ad esempio, se sono una finestra ridotta a icona e non fanno nulla), questo lascerà più RAM libera. Nota che in genere non riesci a controllare ciò che viene trasferito sul disco - solo che è qualcosa.

Il problema è che lasciare RAM libera non è di per sé utile. Se un altro programma in esecuzione avesse bisogno di quella RAM, il paging sarebbe avvenuto in quel momento, invece di quando hai eseguito il Ram Freeer. E nel momento in cui desideri che quel programma che è stato espulso sul disco faccia qualcosa (per esempio, se si sveglia ogni 5 minuti per controllare il tuo stato su Facebook), tornerà indietro per farlo.

Se hai davvero un problema con la ram, hai un paio di opzioni:

1) Ottieni più RAM. Semplice, diretto, forse costoso o (a seconda della configurazione del sistema operativo e dell'hardware) impossibile.

2) Esegui meno programmi. Meno cose sono in esecuzione, più RAM è disponibile per le cose in esecuzione. Ciò comporta anche la scelta di programmi di utilità meno dispendiosi in termini di risorse. Ad esempio, se lasci sempre aperta un'utilità di messaggistica istantanea, scegline una che abbia un ingombro di memoria ridotto anziché una con tutte le funzionalità appariscenti.

3) Ottieni dischi più veloci. Questo in realtà non ti dà più ram (ovviamente), ma se usi dischi più veloci per i tuoi file di paging, i tempi necessari per scambiare pagine dentro e fuori dalla memoria saranno inferiori e quindi meno evidenti.

Non ci sono altre opzioni reali.


"lasciare RAM libera non è di per sé utile." Ma impedisce alle persone piagnistei su come Windows Vista / 7 lasci una RAM libera minima perché sono informazioni precaricate a cui l'utente accede comunemente.
Nick T,

@Nick Le persone che si lamentano del fatto che Win7 o Vista non abbiano RAM libera su una macchina con molta RAM installata dovuta, come dici tu, al prefetch di Windows è un problema di educazione dell'utente. È uno che dovrebbe essere contrastato con l'argomento che l'allocazione e quindi la liberazione della memoria utilizzata dal prefetcher rallenta il sistema poiché tutti i dati precaricati verranno eliminati senza motivo e non verranno quindi memorizzati nella cache quando si esegue una nuova applicazione e significherà anche che il prefetcher spreca tempo e risorse a riempire la RAM appena svuotata. La RAM viene liberata se un programma ne ha bisogno comunque ...
Mokubai

Windows utilizza anche la RAM come cache dei file, poiché ciò accelera la velocità di accesso al disco EFFICACE. Vedrai ogni sorta di piagnistei mal informati su questo. Su molti sistemi Windows, la ragione per cui sembra essere disponibile così poca RAM è che di solito vengono utilizzate grandi quantità come cache "ram-disk". La quantità utilizzata per questo è dinamica, poiché i programmi richiedono più memoria la quantità utilizzata per la cache dei file è ridotta. Le persone che hanno scritto il sistema operativo non erano così ignoranti come alcuni vorrebbero che pensassimo.
quick_now

11

Fondamentalmente ciò che fanno i freeer della RAM è che si riservano grandi quantità di RAM costringendo Windows a scambiare altri programmi su disco e quindi liberando la RAM che hanno riservato. Potrebbero esserci diverse strategie per farlo, ma io non sono un amante degli interni.

Io suggerirei di ottenere RAM più fisica, se questo è possibile, in quanto non vi sarà il tempo in cui il programma outswapped ha bisogno di ottenere la sua quota di schiena di memoria ...


Windows invia un messaggio "Low_MEMORY" che chiede a tutte le applicazioni di liberare le cache inutilizzate. Le cache del server e dei file SQL vengono cancellate in modo da ottenere uno spazio libero aggiuntivo.
Barfieldmv,

8

Cercando di ingannare il sistema operativo, dà l'impressione che forse si sta facendo qualcosa. Un simile approccio è praticamente un caso di derubare Peter per pagare Paul.

Oppure ... se provi a ottenere qualcosa per niente a lungo termine non ottieni ... niente.

In altre parole, considero questo genere di cose come una truffa. Se sei a corto di RAM, la migliore soluzione tecnica a lungo termine è comprare di più.


2

Windows invia un messaggio "LOW_MEMORY" che chiede a tutte le applicazioni di liberare i propri dati non utilizzati. Le cache del file e del server SQL vengono cancellate in modo da finire con molto spazio libero aggiuntivo. Questo cancella anche la cache dei file di Windows che può richiedere facilmente 1 gig di spazio all'avvio.

Allocare una grande porzione di memoria è un modo semplice per attivare un messaggio BASSA MEMORIA ma potrebbero essere presenti sistemi più intelligenti.


2

Insieme alle altre risposte, strumenti più vecchi come RAMDoubler erano soliti comprimere la RAM in memoria, con l'ovvio costo della CPU all'accesso. Penso che nessuno lo faccia più, a causa di quel costo di accesso.

EDIT: nessuno .. ben al di fuori di Apple Tutto vecchio è nuovo di nuovo. Più in particolare, la diffusione tra la velocità della CPU e la velocità delle tecnologie di memoria (in particolare del disco) è talmente grande che questa è ora un'opzione migliore, soprattutto con il costo dell'elettricità (leggi: batteria) per colpire il disco.


1
La compressione della memoria non ha mai superato la cattiva reputazione ricevuta dalla frode SoftRAM. RAMDoubler e MagnaRam erano entrambi prodotti legittimi. La tecnologia esiste ancora. IBM ha sviluppato la compressione della memoria basata su AME MTX e software e VMWare utilizza la compressione della memoria nella maggior parte della propria linea di prodotti.
Kenneth Cochran,

1
Questo è un disegno ragionevole e potrebbe entrare nel kernel ad un certo punto: lwn.net/Articles/397574
Tobu

1

Solitamente costringono il sistema a utilizzare più file di paging e meno RAM. Poiché la RAM è più veloce del disco rigido, nel peggiore dei casi, vedrai una riduzione della velocità. Nella migliore delle ipotesi, vedrai più RAM disponibile, ma nessuna velocità extra.

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.