I computer con più RAM sono potenzialmente più veloci se di solito non viene utilizzata tutta la memoria?


85

Diciamo che ho un computer con 16 GB di memoria. Se il mio computer di solito utilizza solo circa 4 GB e non raggiunge mai gli 8 GB, è più veloce di un computer con solo 8 GB di memoria (dello stesso tipo)? Il mio computer funzionerebbe altrettanto velocemente rimuovendo l'altra metà dei 16 GB lasciando solo 8 GB?


17
Parte della difficoltà di questa domanda è che "in uso" è difficile da definire per qualsiasi sistema operativo moderno con memoria virtuale e file mappati in memoria. Ad esempio, il segmento di codice ("testo") di un programma in esecuzione è "usato" o "cache"?
R ..

5
Diversi sistemi operativi gestiscono la memoria in modo diverso. Nessun sistema operativo è stato indicato nella domanda. Il termine "è uso" può anche significare cose diverse. Pessima domanda, scelta ancora peggiore.
Jason,

La memoria più piccola è potenzialmente più veloce, poiché c'è meno carico sui driver degli indirizzi di memoria. In pratica, tuttavia, dubito che le velocità di clock siano regolate per tenerne conto, quindi non ci sarebbero differenze. (Questo presuppone che la RAM "extra" rimarrà lì come un nodulo e non sarà in qualche modo utilizzata.)
Daniel R Hicks,

3
Questa domanda ha davvero bisogno di una definizione di "in uso". Ogni risposta (come quella attualmente accettata) che rivendica la cache racconta di un uso della memoria. Questa è probabilmente la definizione più utile, ma sarebbe utile separare diversi usi della memoria. Presumo che potremmo non voler discutere se la memoria completamente inutilizzata sta aiutando ...
Nanne

Si noti inoltre che avere il ram stick aggiuntivo lo rende più veloce, poiché è possibile accedere in parallelo a entrambi.
Tyzoid,

Risposte:


112

Sì, perché il sistema operativo può utilizzare la RAM aggiuntiva come cache del disco, che accelera l'accesso ai dati sul disco.

La RAM aggiuntiva non renderà più veloci i calcoli associati alla CPU (senza coinvolgere molto I / O su disco).


31
Qualsiasi RAM che non viene utilizzata per altri scopi. (A meno che tu non abbia più RAM dello spazio su disco, il che è improbabile.)
Wyzard,

30
Linux lo fa. Sarei sorpreso se Mac OS non avesse fatto lo stesso. Sarebbe sciocco non farlo.
Wyzard,

9
"Non mostra" dove? Esegui freesu un sistema Linux e guarda la colonna "cache". Alcune applicazioni di livello superiore (come GNOME System Monitor) non riportano la cache come "in uso" perché quella RAM è disponibile per l'uso da altri programmi; il kernel può scartare le cache in qualsiasi momento.
Wyzard,

4
@PTwr - in tal caso il sistema operativo dovrebbe memorizzare nella cache quei file e non dovrebbe dare così tanta velocità - un disco RAM potrebbe aiutare se stai scrivendo - ma misurare la differenza di velocità per vedere se ne vale la pena
user151019


59

Poiché ogni sistema operativo gestisce la memoria in modo diverso e non ne è stato fornito nessuno, risponderò nel contesto di Windows 7.

Di seguito è riportato un esempio da un computer con 24 GB di RAM. Anche se attualmente sono allocati solo 7 GB come memoria "In uso", altri 10 GB sono allocati come memoria "Standby" e contengono dati che possono o non possono essere letti di nuovo. Se viene letto, renderà il tuo computer "più veloce". La memoria "libera" non è utilizzata al momento.

Sorvegliante delle risorse

  • "Disponibile" è Standby e memoria libera. In altre parole, tutta la memoria non è attualmente richiesta.
  • "Memorizzato" è la memoria di standby e modificata. Tutta la memoria utilizzata per la memorizzazione nella cache, con modificata essendo la porzione in attesa di essere scritta su disco prima di diventare standby.
  • La memoria "totale" è tutta la memoria tranne l'hardware riservato.

Se vuoi saperne di più sull'utilizzo della memoria in Windows 7, TechRepublic ha un ottimo articolo .


Quindi cosa accadrebbe se questo computer, sotto questo carico, avesse aggiunto altri 8 GB? Sospetto "niente", ma sospetto anche che un utente con un carico più pesante o un tempo di attività più lungo avrà molto più cache.

3
@JonofAllTrades Sono d'accordo. Una cosa di cui l'articolo che ho collegato non parla di SuperFetch (un servizio predefinito in Windows 7). SuperFetch carica le cose in memoria prima di accedervi. Registra i modelli di utilizzo in un file e richiede diversi riavvii / giorni per ottimizzare completamente.
Jason,

Questo succede anche in Linux?
Casper,

16

Se il sistema operativo utilizza solo 4 GB su 8 GB, non funzionerà in modo diverso su una macchina che utilizza 4 GB su 16 GB.

Il pistone non utilizzato non ha alcun impatto sulle prestazioni della macchina.

Tuttavia, la situazione ideale è che il sistema operativo utilizzi quasi tutta la RAM disponibile. Il sistema operativo e le applicazioni richiederanno ciò di cui hanno bisogno e il ram rimanente dovrebbe essere usato come cache - con una porzione libera forse per evitare lo scambio se un'applicazione ha bisogno di più ram. La cache viene comunque considerata "utilizzata" e verrà visualizzata come utilizzata negli strumenti senza memoria.

La cache richiederà del tempo per essere costruita, quindi non la vedrai all'avvio. Se dopo un po ', la macchina non sta ancora usando più di 4 GB, allora forse sta eseguendo un sistema operativo a 32 bit che non può indirizzare più di 4 GB (normalmente).


4
Dipende se si considera la cache del disco come RAM "utilizzata". Il freeprogramma Linux lo riporta in entrambi i modi, ad esempio.
Wyzard,

Penso che ciò che la GUI rappresenta per un utente e la situazione reale possa essere diversa. La RAM utilizzata per la cache viene utilizzata indipendentemente dal fatto che uno strumento userland nasconda tale fatto all'utente.
Paul,

"Se dopo un po 'la macchina non utilizza ancora più di 4 GB ..." -> Ancora una volta, la memorizzazione nella cache del disco è ottima ma non riempirà davvero tutta la RAM libera se hai un sacco di cose che possono essere memorizzate nella cache dal disco - - memorizza solo nella cache ciò che hai effettivamente utilizzato e ora non lo è , il che probabilmente non equivale a più di un paio di GB a meno che le tue normali attività non includano abbondanti quantità di Photoshop, ecc. o il computer sia un server occupato con un sacco di file statici.
Riccioli d'oro,

@goldilocks Ovviamente "dopo un po '" è vago, ma intende significare "dopo una durata tale che Windows e le app hanno causato il caricamento di dati sufficienti che avrebbero superato i 4 GB". Il mio utilizzo è abbastanza normale e lo supera di routine. Il punto è che se questo limite viene raggiunto, potrebbe trattarsi del vincolo piuttosto che della mancanza di necessità di più cache.
Paul,

9

Un'altra parte dell'equazione è la configurazione delle memory stick. In particolare, le schede madri modernissime supportano la memoria a doppio canale che consente di raddoppiare la larghezza di banda tra la scheda madre e la memoria; se avevi accoppiato la memoria e ne hai estratto 1 per ogni coppia, hai perso questo e quindi il tuo accesso alla memoria quando si eseguono molti trasferimenti di memoria sarà ridotto, il che dovrebbe comportare un aumento delle operazioni. (Al contrario, se ti è capitato di avere 8 Gig di memoria più veloce abbinati a 8 Gigs di memoria più lenta e stavi usando solo 8 Gigs, eliminando gli 8 concerti di più lento e riparando il più veloce dovrebbe permetterti di correre più veloce dato che ottieni ancora doppio canale ma non è necessario rallentare fino alla memoria più lenta)

Ma, in generale, le cose memorizzate nella cache menzionate in altre risposte contribuiranno maggiormente alle prestazioni complessive.


3

La rimozione di metà dei 16 GB di memoria rallenta il computer.

Questo vale anche se non usi mai quasi 8 GB di memoria.

Il lato software è coperto da altre risposte e si riduce al sistema operativo che sceglie di utilizzare la RAM anziché il disco.

Tuttavia, è possibile che si verifichi un impatto sulle prestazioni dell'hardware dimezzando la quantità di RAM disponibile. Il motivo è che i bus RAM utilizzano un'architettura multicanale, il che significa che il computer può trasferire dati tra più moduli RAM contemporaneamente.

Probabilmente il tuo computer è a doppio canale. In tal caso è possibile rimuovere 2 su 4 moduli RAM da 4 GB senza alcun impatto sulle prestazioni richiesto dall'hardware. Tuttavia, la rimozione di 1 su 2 moduli RAM da 8 GB influirà sulle prestazioni.

Se hai un'architettura RAM a quattro canali vedrai un colpo performace anche se il tuo ram è moduli da 4 GB.


2

Se la memoria viene mai esaurita o il 99% si perde velocità a causa del file di paging che si trova sul disco rigido. Il disco rigido non può nemmeno avvicinarsi alla velocità della RAM, dal momento che la CPU accede direttamente alla CPU a seconda della velocità del bus.

Windows utilizza circa 3-4 GB inattivo di RAM senza contare altre applicazioni. Ho eseguito 16 GB per anni e in realtà non ho mai avuto bisogno di più di 8 GB. Realisticamente, gli utenti di avg PC non usano mai più di 4-6 GB per i giochi. L'ho visto avvicinarsi a 12 GB solo una volta quando si comprime un film o si fa qualcosa che la RAM ha di solito a che fare con multimedia e CPU multiple core sarebbe l'unico modo in cui avresti bisogno di più di 8 GB. e sì, sarebbe altrettanto veloce. IMO.

Inattivo dopo 1 giorno di operatività: inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine

Inattivo dopo 2 giorni di uptime: inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine

Più RAM Windows ha più RAM che sembra usare.

inserisci qui la descrizione dell'immagine

In termini di Windows 7 che utilizza la RAM per rendere più veloci determinati processi, ecco un esempio.

inserisci qui la descrizione dell'immagine

Chkdsk massimizza la RAM per accelerare la memorizzazione nella cache, a sua volta accelera le prestazioni e il tempo di controllo del disco, quindi in questo caso più infatti = più veloce ...


1
Windows 7? Anche con un sacco di cose, difficilmente vado oltre 2G.
Simon Kuang,

Più RAM ha Windows 7 e più userà ... gli straordinari fluttueranno a causa di quali programmi hai aperto e sono attualmente aperti fino a quando i servizi e le applicazioni rilasciano la memoria che fluttuerà costantemente ... rispetto alla domanda reale. 8 GB saranno veloci come 16 GB sì e no a seconda di cosa stai usando il tuo computer. In circostanze normali non dovresti avere bisogno di più di 8 GB e non vedere perdite di prestazioni reali se per usi comuni come giochi o navigazione web.
MORBiD

2

In pratica è più probabile che la risposta sia "NO" alla domanda come indicato. Il Q. afferma che "(utilizzo) non raggiunge mai gli 8 GB" e menziona "lo stesso tipo di memoria", quindi il fattore più probabile che influisce sulla velocità (buffering del disco) non sarà influenzato. Un esempio pratico comune sono i server di database con memoria sufficiente per bufferizzare l'intero disco rigido, ad esempio con 4 GB di file e 2 GB di memoria allocata per processo / sistema non beneficiano di oltre 8 GB di memoria.

eccezioni:

Più memoria può rallentare l'ibernazione: sul mio sistema con 32 GB di memoria e disco SSD, un avvio a freddo è significativamente più veloce del risveglio dal letargo poiché salva tutti i 32 GB in letargo, ma un avvio a freddo richiede molto meno per essere letto. Ridurre la memoria accelererebbe il sistema.

Sarebbe più veloce se si accedesse a più del disco rigido e la maggior parte delle persone disponga di un maggiore utilizzo del disco rispetto alla memoria rimasta per il buffering, quindi la memoria aggiuntiva aiuta. Inoltre, molti O / S riportano solo una parte dell'utilizzo come "utilizzo" e il resto viene conteggiato come buffering e non "utilizzo". (Linux riporta l'uso sia inclusivo che esclusivo del buffering).

I canali di memoria influiscono sulle prestazioni: [Se rimuovere la memoria significa ridurre il numero di canali di memoria in uso, il sistema rallenterebbe come indicato correttamente da Foon]

[modifica:] David Schwartz ha commentato che l'abbassamento della memoria riduce i limiti per i mapping di memoria privati ​​e modificabili in Windows. Windows apparentemente limita il totale di queste riserve al totale della memoria più lo scambio in modo da poter esaurire questa risorsa anche se è stata segnalata "memoria libera" (poiché la memoria / scambio reale non viene allocata fino a quando non si accede a una pagina, non lo è conteggiato come utilizzo della memoria). Linux si comporta in modo diverso: ogni processo può allocare fino al totale della memoria e alle dimensioni dello swap, e il totale su tutti i processi può superare il totale della memoria più lo swap.


1
Sostanzialmente asserisci semplicemente che "no" è la risposta corretta ma non dici perché.
David Schwartz,

Questo è stato in risposta alla risposta accettata - non ho i punti rappresentante per commentarlo direttamente - scusate la confusione. Per chiarire, nel caso in cui non fosse ovvio, si utilizza solo la quantità di memoria per il buffering del disco rigido che viene effettivamente letta o scritta - se proprio non c'è così tanto utilizzo del disco o non si accede mai, la memoria aggiuntiva non lo fa ' fare la differenza.
iheggie,

1
L'esempio che ho fornito al server di database è un esempio in cui la memoria aggiuntiva fa poca differenza: tutto il disco in uso viene bufferizzato.
iheggie,

Che dire del fatto che più RAM significa più backing store che potrebbero consentire al sistema operativo di consentire allocazioni che altrimenti rifiuterebbe?
David Schwartz,

Nel mio esempio del server DB, nessuna differenza poiché non rifiuterebbe mai un'allocazione a causa della mancanza di memoria libera. Quale allocazione rifiuterebbe l'O / S se a. tutti i processi dove in memoria, b. l'intero disco era già bufferizzato in memoria, c. aveva memoria libera e d. qualche altro limite non è stato superato (ad es. limiti massimi di processo / buffer / dimensioni indirizzabili)?
iheggie,

0

La frammentazione della memoria è un altro motivo per avere memoria aggiuntiva. Se si dispone di 8 GB di RAM e si tende a utilizzarlo all'80%, in particolare nei casi di utilizzo moderni (con un sacco di scambio di memoria, come l'apertura e la chiusura delle schede del browser) si otterrà infine una frammentazione significativa.

L'aggiunta di ulteriori 8 GB di RAM rende più probabile che il sistema operativo trovi spazi di memoria contigui disponibili, il che significa che sono necessari riavvii meno frequenti per evitare il degrado delle prestazioni.


La mia comprensione è che la frammentazione della memoria è qualcosa che può verificarsi nello spazio di memoria di un processo, che è virtuale sui tipici sistemi moderni e che non si applica al sistema in generale. Poiché la memoria fisica è divisa in pagine, che sono mappate individualmente negli spazi di memoria virtuale dei processi, la frammentazione sarebbe un concetto senza menzione. Per favore, correggimi se ho frainteso qualcosa.
Thomas Padron-McCarthy,

0

Forse, ma non necessariamente. Tra le altre cose, una delle cose che la RAM consente a un computer è di consentire all'applicazione di allocare memoria che non potrà mai usare. Se il sistema non dispone di un archivio di backup sufficiente (che include la RAM) per consentire ogni allocazione emessa finora per consumare quanta memoria è possibile, il sistema operativo dovrà rifiutare tali allocazioni o sovraccaricare. Alcuni sistemi operativi non subiscono mai un sovraccarico e praticamente tutti i moderni sistemi operativi limitano la quantità di impegni eccessivi consentiti.

Quindi la memoria che non è in uso può migliorare le prestazioni consentendo operazioni che potrebbero richiedere RAM per avere esito positivo laddove altrimenti fallirebbero.


-1

Più ram non accelera il computer. Meno ram "rallenta" il computer.

I computer hanno la loro massima velocità fisica (incluso anche l'overclocking) e nulla può renderli più veloci di così.


3
Come mostrato nella risposta di Wyzard, il "computer" nel suo insieme include l'accesso al disco, dove più RAM consente una maggiore memorizzazione nella cache e quindi la accelera.
favore, cancellami il

Vuoi dire che possiamo aumentare il limite di velocità fisica di un computer aggiungendo terabyte di RAM su di esso?
Xtro,

Tenendo conto dei dischi rigidi, sì.
favore, cancellami il

A proposito, meno RAM non sempre rallenta il computer. La cache L3 ha rallentato molte volte il computer a causa di errori nella cache.
favore, cancellami il

2
Trovo la tua risposta tautologica. Sì, il "limite di velocità massima" della CPU è la velocità massima della CPU. Bello spettacolo. Tuttavia, da un punto di vista pratico , rispetto a un PC con solo RAM sufficiente, un PC con RAM in eccesso funzionerà in modo leggermente più veloce.
Joe,
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.