Mettere la cartella swapfile & temp su ramdisk è una buona idea in Windows 7 a 64 bit con molta RAM?


16

Voglio che il mio Windows funzioni il più velocemente possibile. Se ho 12 GB di RAM in Windows 7 a 64 bit, CPU quad core e tutte le app in memoria, il file di scambio verrà mai utilizzato per qualcosa? La domanda è se è una buona idea inserire il file di scambio in un disco RAM.

Un disco RAM aiuterebbe in qualche modo o Windows utilizzerà in modo intelligente tutta la memoria disponibile per tutto il suo lavoro?

Sto anche pensando di mettere la cartella temporanea su un disco RAM. So che il disco RAM è una memoria volatile e non mi interessa il suo contenuto se si perde.


Il titolo mi ha fatto ridere un po ', ma in realtà le tue se [..] tutte le app si adattano alla memoria, il file di scambio sarà mai usato per qualcosa è una buona domanda!
Arjan,

Il file di paging - non è un "file di scambio" - verrà utilizzato come necessario per consentire ai programmi di allocare spazio di indirizzi virtuali oltre ciò che solo la RAM consentirebbe. Ciò è necessario anche se, dopo l'allocazione, usano effettivamente solo quanto si adatterebbe nella RAM.
Jamie Hanrahan,

Risposte:


7

Sono d'accordo che mettere il file di scambio su un ramdisk non ha senso per un sistema operativo a 64 bit. Tuttavia, se uno ha WinXP a 32 bit, Windows può solo "vedere" i primi 3,5 GB di RAM. Se uno ha più RAM, diciamo, 9 GB, la RAM superiore a 3,5 GB viene completamente sprecata da WinXP. Tuttavia, usando un programma come SuperSpeed ​​RamDisk Plus, si può usare la memoria sopra i 3,5 GB come ramdisk - e mettere il file di swap lì sopra ha un senso enorme (di nuovo, su XP a 32 bit, non su Win7 a 64 bit ).

Separatamente, mettere i file temporanei in un ramdisk ha quasi sempre senso, dal punto di vista delle prestazioni, a meno che le dimensioni previste non mettano troppo a dura prova la RAM disponibile per il sistema operativo.


6

Mettere il file di paging su un ramdisk è un'idea ridicola. Devi capire che solo una frazione del paging totale coinvolgerà il file di paging. La maggior parte del paging avverrà con file eseguibili e altri file mappati e un file di paging nella RAM non farà nulla per migliorare questa prestazione. E grazie alla RAM di sistema ridotta disponibile ci sarà più di questo paging. Il risultato è che l'accesso al file di paging sarà più veloce, ma i livelli di paging globali saranno più alti con una riduzione delle prestazioni.


4

Non direi ridicolo; per sistemi a 32 o 64 bit.

Per iniziare con le ovvie finestre a 32 bit (la maggior parte dei sistemi in esecuzione) semplicemente ignora qualsiasi cosa sopra i 4 GB. Essendo in grado di utilizzare PAE e indirizzamento della memoria a 36 bit, i ramdisk sono l'unico modo per rendere utili le aree ad alta memoria in sistemi a 32 bit.

La domanda è: come possiamo utilizzare un disco rigido virtuale velocissimo / più sicuro? I file temporanei vengono in mente e sono piuttosto banali da installare, purché tu sappia come assegnare una lettera di unità fissa in Windows. Lo stesso con la cache dei browser. L'interesse per questi è quadruplo:

  • Accesso / recupero più veloce
  • Vera cancellazione
  • Elimina la maggior parte dell'usura inutile della costosa memoria SSD.
  • Meno frammentazione del disco ..

Per quanto riguarda il file di scambio, sembra ovvio che i sistemi a 32 bit hanno molto da guadagnare inserendoli nella RAM non rivendicata. Si potrebbe pensare a un programma affamato di memoria, che utilizza fino a 3 GB su se stesso (con l'interruttore da 3 GB in boot.ini) che molto probabilmente causerà molti scambi. Si applicano ancora due degli stessi bonus: vera cancellazione e usura su SSD. La frammentazione è meno un problema con i file di scambio.

C'è di più: è abbastanza comune per i programmi scritti male usare la memoria virtuale, indipendentemente dalla quantità di memoria fisica disponibile, causando un inutile accesso al disco. Questo vale per entrambi i programmi a 32 e 64 bit. Mi sono anche imbattuto in programmi che non si avviano in assenza di un file di scambio.

In conclusione, sebbene abbia senso, indipendentemente dal fatto che abbia un ramdisk inferiore a 4 GB e risparmi inutile accesso al disco per la memorizzazione nella cartella e programmi temporanei, sembra molto preferibile installare più di 4 GB, dato che il prezzo della memoria è quello che è, in entrambi 32 ( con hardware abilitato PAE) E sistemi a 64 bit e spostare lì il file di scambio.

Va notato che MOLTI utenti di computer professionisti non possono ancora andare a 64 bit per motivi di supporto hardware.

Ciò che sarebbe ridicolo, usare lo stesso linguaggio forte di cui sopra, sarebbe semplicemente respingere l'idea e fare affidamento non solo sulla gestione della memoria virtuale di Microsoft (che è lodata e giustamente) ma anche sui programmatori di applicazioni che vanno dal guru della codifica assembly al linguaggio idiota di alto livello che metterà in ginocchio il PC più bello e stabile con una cattiva gestione della memoria. Ho visto questo codice nei programmi tradizionali, nelle applicazioni di produttività, non ti scherzo!

Il mio sistema principale ha un ramdisk da 8 GB su XP / 32 e questo si è rivelato utile. È abbastanza banale da installare e devo dire che l'unico programma che mi ha dato problemi è google chrome la cui strategia di installazione / aggiornamento è dura sul tweaker.

Puoi pensare a molti usi utili per i ramdisk oltre a questi; nel mio caso, campioni audio da recuperare dal disco su applicazioni live: inseriscili al momento del boot (dolorosamente lento) e ottieni un accesso velocissimo alle librerie multiGB. Ma questo è fuori tema :)

Questa è la mia esperienza. Vorrei che le persone non distruggessero il valore delle informazioni utili mediante l'uso di un linguaggio forte non necessario. Ridicolo era una cattiva scelta di parole in questo contesto, per non dire altro.


3

Sì, i file di paging vengono utilizzati anche se si dispone di molta RAM; ma la semplice esistenza di un file di paging non è di per sé un fattore che influenza le prestazioni del sistema . Inoltre, mettere un file di paging su un disco RAM è daft. Il punto di un file di paging, dopo tutto, deve essere un posto per conservare i dati della pagina (transitori) quando tali dati non sono attualmente nella RAM . I dischi RAM sono nella RAM ...

Il posizionamento di file temporanei su un disco RAM è ovviamente un bollitore completamente diverso di pesce.


1
Quel post non spiega perché il sistema operativo debba eseguire il paging di qualsiasi cosa se il sistema ha tonnellate di RAM e può contenere TUTTO. Lo scopo del paging è quello di fare spazio a processi più importanti, ma se la memoria può contenere transitori, nuovi, vecchi e usati raramente e qualsiasi cosa in memoria, perché non tenere tutto in memoria? Per quanto riguarda le discariche, non mi importa di loro. Non riesco a leggerli o capirli, quindi potrebbero anche essere eliminati e non preoccuparsi di salvarli, a meno che non li invii a MS per l'analisi.
Tony_Henrich,

L'altro articolo a cui fa riferimento ha anche il solito pagliaccio: "alcuni" programmi "potrebbero" fallire, senza mai specificare quali programmi sono effettivamente o come potrebbero fallire.
RolKau,

@Tony, i crash dump sono difficili da leggere e interpretare per una persona normale, ma se installi gli strumenti di debug di Microsoft, possono essere abbastanza istruttivi nel capire perché si è verificato un BSOD. Se il tuo computer non si arresta mai in modo anomalo, ovviamente è irrilevante, ma in passato ho riscontrato che i crash dump sono estremamente utili per la risoluzione dei problemi dei computer danneggiati, quindi non eliminarli completamente.
Pensa

2
@Tony_Henrich "perché non tenere tutto in ram" => perché se c'è qualcosa a cui non si accede (o molto raramente) seduto nella RAM, si sta sprecando quello spazio. Tale spazio potrebbe essere meglio utilizzato per memorizzare nella cache i file a cui si accede spesso, fornendo un incremento delle prestazioni della rete. Qualsiasi spazio RAM fisico non attivamente utilizzato dal codice del programma o dai dati può essere utilizzato dal sistema operativo per memorizzare nella cache i file, motivo per cui non è una buona cosa essere in esecuzione vicino alla capacità totale della RAM.
Bob

La maggior parte delle persone che affermano che "il sistema ha tonnellate di RAM e può contenere TUTTO" non hanno mai considerato l'utilizzo totale dello spazio degli indirizzi virtuali sul proprio computer.
Jamie Hanrahan,

1

Dubito che vedresti molte differenze nel spostare il tuo file di paging su ramdisk. Se si desidera forzare Windows a utilizzare ram, è possibile disattivare il file di paging.

Tuttavia ho notato una grande differenza spostando i miei file temporanei IE su un ramdisk e impostando le mie variabili ambientali TEMP e TMP in modo che puntino al ramdisk.

Eseguo anche Google Chrome con il flag "-user-data-dir =" R: \ ChromeTEMP "in modo che memorizzi i file temporanei sul ramdisk. Questo farà dimenticare le tue impostazioni. Ma dal momento che utilizzo la funzione di sincronizzazione non ha funzionato" mi fa molto effetto. Dopo la sincronizzazione iniziale tutto è tornato alla normalità. E le schermate di caricamento di skyrim sono più brevi dopo il collegamento alle copie di alcuni file sul mio ramdisk.


Sbarazzarsi del file di paging (o metterlo su un disco RAM) non "costringe Windows a usare la RAM". Esistono centinaia di altri file utilizzati per il paging e Windows eseguirà comunque il paging da e verso quelli.
Jamie Hanrahan,

0

Windows continuerà a utilizzare il file di scambio, che (con mia grande confusione, dato che ho una configurazione identica) non ha alcun senso per me. Tuttavia, dopo aver disabilitato il file di paging, non ho riscontrato miglioramenti reali delle prestazioni. Da allora sono tornato a utilizzare un file di paging, poiché Windows lo usa per cose diverse dalla memoria virtuale (penso che scriva anche crash dump su di esso, quando si esegue il blu schermo) di cui ho bisogno. Ho anche soffiato più volte i miei 12 GB di RAM ed ero grato di avere la stanza wiggle.

In breve, Windows continuerà a utilizzare il file di paging, ma non dovresti notarlo come hit delle prestazioni.

Per quanto riguarda i file temporanei, lo spostamento di questi su un disco ram dovrebbe aumentare le loro velocità di accesso, anche se assicurati che non ti serva nulla per persistere durante un riavvio / arresto anomalo e che il driver ramdisk si carichi e crei il ramdisk prima di qualsiasi applicazione o il sistema deve utilizzare la cartella temporanea.


Penso che i mini dump vengano salvati in alcune cartelle speciali in Windows. Non sono sicuro dei dump completi ma forse vengono salvati nel file di paging. Ma non mi dispiace mettere un file di paging in qualsiasi unità non root. Spero solo che Windows sia abbastanza efficiente da utilizzare il ram disponibile il più possibile e utilizzare il file di paging solo quando assolutamente necessario.
Tony_Henrich,

@Tony: vengono salvati nel file di paging fino al riavvio, quando vengono salvati nella cartella Minidump in% SYSTEMROOT%.
Ciao,

1
MS afferma che la disabilitazione del file di scambio probabilmente ridurrà le prestazioni anche nei sistemi ad alta memoria. La gestione della memoria del sistema operativo è progettata attorno allo scambio.
Keltari,

Si noti che è possibile invece che Windows prepari i dump di arresto anomalo in un file dedicato, evitando così la necessità di disporre di spazio libero / file di paging sufficienti sull'unità di sistema per archiviare i dati di dump; vedere Come utilizzare il valore di registro DedicatedDumpFile per superare le limitazioni di spazio sull'unità di sistema quando si acquisisce un dump della memoria di sistema - Blog
Ntdebugging

0

In realtà non è una cattiva idea secondo me.

Logicamente, le persone fraintendono "file di paging" o più correttamente "file di scambio" come RAM. È vero che il file di scambio contiene dati simili a quelli della RAM. Ma Windows non lo utilizza come RAM. Come vedi oggi nel crescente mondo multitasking in cui viviamo, Windows è stato progettato nel passato per gestire la quantità limitata di RAM scrivendo costantemente tra file di scambio e RAM.

Il file di scambio viene sempre utilizzato da Windows poiché il guadagno in termini di prestazioni è più evidente sui computer più lenti e meno recenti con pochi programmi in esecuzione. Quando apri una finestra, il programma viene scambiato in RAM, mentre ci stai lavorando.

Diciamo che stai scrivendo una lettera in Word. Se hai appena avviato quel programma con molti programmi \ windows in background, tende ad essere lento, ma poi diventa più fluido dopo alcuni secondi. Quindi, quando si passa a Internet Explorer, funziona lentamente, quindi diventa più veloce perché era nel file di paging e quindi scambiato con RAM, mentre tutti i processi in background vengono caricati nel file di paging.

Ora introduciamo il disco RAM su Windows. Metti il ​​file di swap sul ramdisk invece che sull'HDD e hai migliorato la capacità di multitasking di Windows, poiché la RAM è più veloce dell'HDD / disco rigido. Tuttavia, ciò non sarà di aiuto su un sistema precedente a meno che non si acquisti un'unità RAM fisica e potrebbe essere necessario impostare nuovamente il file di paging in Windows poiché senza alimentazione verrà eliminato.

I file di paging diventano molto inutili per i PC più recenti con 8, 16, 32, 64 GB di RAM.


3
La domanda è ancora: perché Windows dovrebbe sostituire qualsiasi cosa se c'è abbastanza memoria per contenere tutto. non è come se la memoria "si stancasse" di contenere le app e avesse bisogno di una pausa.
Tony_Henrich,

Ehm, in realtà, "file di paging" è più corretto di "file di scambio"; tecnicamente, lo scambio è dove invii TUTTA la memoria di un determinato processo alla memoria secondaria ...
SamB

Perché: perché è aggressivo nel ritagliare il "working set". Ma non è davvero scambiato fuori , ed è tirato indietro quando necessario, senza dover leggere il disco.
JDługosz,

"il file di scambio viene sempre utilizzato da Windows " - errato. Anche se capita di usare il file di paging, scrive lì cose che è stato deciso, per una buona ragione (come se non lo toccassi da molto tempo), che non vale la pena tenerlo nella RAM. Perché pensi di avere più informazioni su cosa conservare nella RAM di Windows? Ad ogni modo, come altri hanno già detto, inserire un file di paging nella RAM è come concedersi un prestito e poi rimborsare i proventi del prestito. Non hai più soldi, hai appena speso molti sforzi inutili.
Jamie Hanrahan,

0

Molti di voi ragazzi scettici dimenticano il limite di RAM di Windows a 32 bit e mancano il fatto che non è possibile inserire più codice e dati nella RAM, rispetto ai 3,5 GB. Oppure, credi semplicemente che stiamo cercando di "tagliare", diciamo 2 GB dai 3,5 GB accessibili - per un file di paging veloce, con il costo di ridurre la memoria disponibile fino a 1,5 GB. Questo è certamente inutile, ma non è una nostra idea . La nostra idea è dedicata agli utenti di Windows a 32 bit, che possiedono PC con PIÙ RAM di quel limite fastidioso di 3,5 GB. Ad esempio, una macchina dotata di 8 GB, che esegue XP a 32 bit o Vista o 2003.

Quando si lavora sodo con molte applicazioni contemporaneamente, il sistema deve spesso affrontare condizioni di esaurimento della memoria. Per evitare errori critici, il sistema è costretto a memorizzare alcuni dati delle applicazioni in esecuzione in background nel file di paging. In genere significa scrivere decine e centinaia di MB sul disco rigido. E ricorda: succede spesso quando usi davvero il multitasking (al giorno d'oggi, così come le app che consumano memoria). E quando si ottiene un'app in background in primo piano, un altro batch di dati dalla RAM deve passare all'HDD, solo per fare spazio nella RAM affinché il batch precedente torni dall'HDD (questa volta scrivendo e leggendo molti MB dall'unità disco). Basta osservare il LED di attività rosso dell'HDD: si accende più di quanto resta spento (l'HDD funziona davvero duramente).

Ora immagina tutte queste operazioni reindirizzate su EXTRA RAMdisk (RAM aggiuntiva, oltre l'area di memoria operativa del sistema che rimane la stessa dimensione - massimo).

  • In questo modo funziona 1000 volte più velocemente (operazioni RAM rispetto all'HDD), quindi il tempo di scambio diventa marginale;
  • Il tuo HDD funziona molto meno del solito, diventa silenzioso, fresco e la durata si estende notevolmente.

Non credo che sarebbe inutile in termini di prestazioni, per non parlare dell'affidabilità del disco rigido.

OK, la maggior parte delle macchine costruite nell'era XP non erano basate su schede madri in grado di supportare più di 4 GB di RAM. Quindi capisco che ci sono pochi ragazzi là fuori che si preoccupano davvero / hanno bisogno e capiscono l'idea. Ma ora...

BENVENUTO NELL'ERA DELLA VIRTUALIZZAZIONE! Sempre più di voi sono fortunati a possedere una macchina con molta RAM. Un principiante può configurare il suo sistema host per assegnare 4 GB al guest Windows a 32 bit e avere ancora molta RAM. Sarebbe davvero prezioso, quindi, arricchirlo con un disco RAM da 4 GB, assegnato allo stesso SO guest, dedicato al file di paging senza costi di spazio RAM dell'ospite!

Un server che supervisiono ha 12 GB. Invece di acquistare un nuovo sistema (64-2008 più CAL!), Potrei assegnare 8 GB per guest - 32-2003 virtuale e provare a testare i RAMdisk del software. Tuttavia, non mi fido di loro perché sembrano essere degli hack e non mi piace correre il rischio sulla stabilità. Questo è il motivo per cui sto cercando una soluzione per preparare il Ramdisk Linux del mio host come dispositivo a blocchi e formattarlo in FAT o NTFS per renderlo accettabile per il disco virtuale del SO guest, per inserire il file di paging. Credo che il mio server aumenterebbe e risparmierebbe molto sforzo sul disco.

Dove sbaglio? Greetz!


1
Un buon punto sulla virtualizzazione, ma senza virtualizzazione, un ramdisk non ti consente di accedere a più ram di quanto tu possa indirizzare normalmente. Senza PAE, ovvero circa 3,5 GB, ma NT 4.0, win2k e le edizioni pro / server di xp supportano PAE, consentendo fino a 64 GB di RAM. Dato che puoi usare tutto quel ram, è meglio lasciare che il sistema lo usi come meglio crede, incluso per la memorizzazione nella cache dei file, piuttosto che allocarlo a un ramdisk, il che limita il sistema a usarlo solo per contenere pagine private scambiate , che non include i file di programma e i dati dei file memorizzati nella cache.
psusi,


Se il sistema operativo ha deciso che non vale la pena conservare un determinato insieme di dati nella RAM, piuttosto inserendolo nel file di paging ... perché pensi di avere abbastanza informazioni per dire giustamente "no, conservalo comunque nella RAM" inserendo il tuo file di paging su un disco RAM?
Jamie Hanrahan,

0

Per quanto riguarda la cartella temp, spostarla su un ramdisk aumenterebbe la velocità.

Tuttavia ci sono cose da notare:

  • perdita di potere significherebbe perdita di dati
  • non tutte le applicazioni utilizzano la cartella temporanea fornita da Windows, alcune ne usano la propria
  • se la cartella temporanea ha esaurito lo spazio, le applicazioni o Windows potrebbero bloccarsi

0

I ramdisk sono utili per cose come la cache Internet veloce di IE, Chrome e Firefox ecc.
Mettere il file di paging su un Ramdisk in un sistema a 64 bit è inutile.

DisablePagingExecutive potrebbe soddisfare al meglio tali esigenze. Ma mettere il file di paging su un Ramdisk in un ambiente a 32 bit con oltre 4 GB di Ram è un enorme miglioramento. Tuttavia, se il tuo computer è un processore single core (solo uno secondo il taskmanager), ci sarà un miglioramento (non ricordo esattamente quanto, è passato un po 'di tempo). Ma è anche necessario impostare ClearPagefileAtShutdown per eliminare l'errore al prossimo riavvio perché il file di paging non sarà presente.

Il miglior uso per un Ramdisk che mi viene in mente è di eseguire il mirroring della cartella dei file di programma (o selezionare i programmi) nel Ramdisk.


DisablePagingExecutive disabilita solo il paging dell'esecutivo . Il paging di tutto il resto che verrebbe normalmente impaginato avviene ancora.
Jamie Hanrahan,
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.