Sind Computer mit mehr RAM möglicherweise schneller, wenn normalerweise nicht der gesamte Arbeitsspeicher belegt ist?

85

Angenommen, ich habe einen Computer mit 16 GB Arbeitsspeicher. Wenn mein Computer normalerweise nur ungefähr 4 GB verwendet und niemals 8 GB erreicht, ist er dann schneller als ein Computer mit nur 8 GB (gleichem) Speicher? Würde mein Computer gleich schnell laufen, wenn ich die andere Hälfte der 16 GB entferne und nur 8 GB übrig lasse?

Keavon
quelle
17
Ein Teil der Schwierigkeit dieser Frage besteht darin, dass "in Benutzung" für jedes moderne Betriebssystem mit virtuellem Speicher und Speicherzuordnungsdateien schwer zu definieren ist. Wird beispielsweise das Codesegment ("Text") eines ausführenden Programms "verwendet" oder "Cache"?
R ..
5
Verschiedene Betriebssysteme verwalten den Speicher unterschiedlich. In der Frage wurde kein Betriebssystem angegeben. Der Begriff "ist Verwendung" kann auch verschiedene Dinge bedeuten. Schlechte Frage, noch schlechtere Antwort gewählt.
Jason
Der kleinere Speicher ist möglicherweise schneller, da die Speicheradressentreiber weniger belastet werden. In der Praxis bezweifle ich jedoch, dass die Taktraten angepasst werden, um dies zu berücksichtigen, sodass es keinen Unterschied geben würde. (Dies setzt voraus, dass der "zusätzliche" Arbeitsspeicher einfach wie ein Klumpen da sitzt und nicht irgendwie zur Anwendung kommt.)
Daniel R Hicks
3
Diese Frage braucht wirklich eine Definition von "in Benutzung". Jede Antwort (wie die derzeit angenommen) , die Cache behauptet , erzählt von einer Verwendung des Speichers. Dies ist wahrscheinlich die nützlichere Definition, aber die Trennung verschiedener Speicheranwendungen wäre hilfreich. Ich nehme an, wir möchten vielleicht nicht diskutieren, ob völlig unbenutzter Speicher hilft ...
Nanne
Beachten Sie auch, dass der zusätzliche RAM-Stick selbst den Zugriff beschleunigt, da auf beide parallel zugegriffen werden sollte.
Tyzoid

Antworten:

112

Ja, da das Betriebssystem das zusätzliche RAM als Festplatten-Cache verwenden kann, wodurch der Zugriff auf Daten auf der Festplatte beschleunigt wird.

Durch zusätzliches RAM werden CPU-gebundene Berechnungen (die nicht viel Festplatten-E / A erfordern) jedoch nicht schneller.

Wyzard
quelle
31
Jeder RAM, der nicht für andere Zwecke verwendet wird. (Es sei denn, Sie haben mehr RAM als Speicherplatz, was unwahrscheinlich ist.)
Wyzard
30
Linux tut es. Es würde mich wundern, wenn Mac OS nicht dasselbe tun würde. Es wäre dumm, das nicht zu tun.
Wyzard
9
"Zeigt nicht" wo? Laufen Sie freeauf einem Linux-System und sehen Sie sich die Spalte "zwischengespeichert" an. Einige übergeordnete Anwendungen (wie der GNOME-Systemmonitor) melden den Cache nicht als "in Verwendung", da dieser RAM für die Verwendung durch andere Programme verfügbar ist. Der Kernel kann Caches jederzeit löschen.
Wyzard
4
@PTwr - in diesem Fall sollte das Betriebssystem diese Dateien zwischenspeichern und nicht so schnell arbeiten - eine RAM-Disk hilft möglicherweise beim Schreiben - aber messen Sie den Geschwindigkeitsunterschied, um
festzustellen,
7
@ khajvah linuxatemyram.com
Dan Neely
59

Da jedes Betriebssystem den Speicher anders verwaltet und keiner angegeben wurde, werde ich im Zusammenhang mit Windows 7 antworten.

Unten sehen Sie ein Beispiel von einem Computer mit 24 GB RAM. Obwohl derzeit nur 7 GB als "In Use" -Speicher zugewiesen sind, werden weitere 10 GB als "Standby" -Speicher zugewiesen und enthalten Daten, die möglicherweise erneut gelesen werden oder nicht. Wenn es gelesen wird, wird Ihr Computer "schneller". Der "freie" Speicher wird momentan überhaupt nicht genutzt.

Ressourcenmonitor

  • "Verfügbar" ist Standby und Freier Speicher. Mit anderen Worten, der gesamte derzeit nicht benötigte Speicher.
  • "Cached" ist Standby und Modifizierter Speicher. Der gesamte für die Zwischenspeicherung verwendete Speicher, wobei der Teil geändert wird, der darauf wartet, auf die Festplatte geschrieben zu werden, bevor er in den Standby-Modus versetzt wird.
  • "Gesamtspeicher" ist der gesamte Speicher mit Ausnahme der reservierten Hardware.

Wenn Sie mehr über die Speichernutzung in Windows 7 erfahren möchten, bietet TechRepublic einen großartigen Artikel .

Jason
quelle
Was würde also passieren, wenn dieser Computer unter dieser Last weitere 8 GB hinzufügen würde? Ich vermute "nichts", aber ich vermute auch, dass ein Benutzer mit einer höheren Auslastung oder längeren Betriebszeiten viel mehr zwischengespeichert hat.
3
@ JonofAllTrades würde ich zustimmen. In dem Artikel, über den ich verlinkt habe, geht es nicht um SuperFetch (ein Standarddienst in Windows 7). SuperFetch lädt Dinge in den Speicher, bevor auf sie zugegriffen wird. Es zeichnet Verwendungsmuster in einer Datei auf und benötigt mehrere Neustarts / Tage, um vollständig zu optimieren.
Jason
Kommt das auch unter Linux vor?
Casper
16

Wenn das Betriebssystem nur 4 GB von 8 GB verwendet, wird es nicht anders ausgeführt als ein Computer mit 4 GB von 16 GB.

Der nicht benutzte Stößel hat keinen Einfluss auf die Leistung der Maschine.

Die ideale Situation ist jedoch, dass das Betriebssystem fast den gesamten verfügbaren Arbeitsspeicher verwendet. Das Betriebssystem und die Anwendungen fordern an, was sie benötigen, und der verbleibende Arbeitsspeicher sollte als Cache verwendet werden. Ein Teil ist möglicherweise frei, um ein Auslagern zu vermeiden, wenn eine Anwendung mehr Arbeitsspeicher benötigt. Der Cache gilt weiterhin als "verwendet" und wird in speicherfreien Tools als verwendet angezeigt.

Es wird einige Zeit dauern, bis der Cache aufgebaut ist, sodass dies beim Booten nicht angezeigt wird. Wenn der Computer nach einer Weile immer noch nicht mehr als 4 GB verwendet, wird möglicherweise ein 32-Bit-Betriebssystem ausgeführt, das (normalerweise) nicht mehr als 4 GB adressieren kann.

Paul
quelle
4
Es hängt davon ab, ob Sie den Festplatten-Cache als "verwendeten" RAM betrachten. Das Linux- freeProgramm meldet dies beispielsweise in beide Richtungen.
Wyzard
Ich denke, was die GUI für einen Benutzer darstellt und die tatsächliche Situation kann anders sein. RAM, das für den Cache verwendet wird, wird unabhängig davon verwendet, ob ein Userland-Tool diese Tatsache für den Benutzer verbirgt.
Paul
"Wenn der Computer nach einer Weile immer noch nicht mehr als 4 GB verwendet ..." -> Auch hier ist das Zwischenspeichern von Datenträgern großartig, aber es füllt nicht wirklich Ihren gesamten freien Arbeitsspeicher, wenn Sie über viele Dinge verfügen, die vom Datenträger zwischengespeichert werden können. - Es wird nur das zwischengespeichert, was Sie tatsächlich verwendet haben und jetzt nicht mehr , was wahrscheinlich nicht mehr als ein paar GB entspricht, es sei denn, Ihre normalen Aktivitäten beinhalten reichlich Photoshop usw. oder der Computer ist ein stark ausgelasteter Server mit vielen statische Dateien.
Goldlöckchen
@goldilocks Offensichtlich ist "nach einer Weile" vage, meint aber "nach einer solchen Dauer, dass Windows und Apps Grund hatten, genügend Daten zu laden, die 4 GB überschreiten würden". Mein Gebrauch ist ziemlich routinemäßig und übertrifft dies routinemäßig. Der Punkt ist, dass, wenn dieses Limit erreicht wird, es sich eher um eine Einschränkung als um den Mangel an mehr Cache handeln kann.
Paul
9

Ein weiterer Teil der Gleichung ist die Konfiguration der Memory Sticks. Insbesondere moderne Motherboards unterstützen Dual-Channel-Speicher, mit dem Sie die Bandbreite zwischen Motherboard und Speicher verdoppeln können. Wenn Sie Speicher gepaart hatten und 1 Paar herausgenommen haben, haben Sie dies verloren, und daher wird Ihr Speicherzugriff bei vielen Speicherübertragungen verringert, was dazu führen sollte, dass Vorgänge länger dauern. (Im Gegensatz dazu sollten Sie, wenn Sie zufällig 8 Gigas schnelleren Speicher in Kombination mit 8 Gigas langsamerem Speicher hatten und nur 8 Gigas verwendeten, die 8 Gigas langsameren herausnehmen und die schnelleren reparieren, damit Sie schneller laufen können, da Sie immer noch Dual Channel erhalten aber nicht, es muss nicht auf den langsamsten Speicher verlangsamt werden

Im Allgemeinen wird das in anderen Antworten erwähnte Caching jedoch einen größeren Beitrag zur Gesamtleistung leisten.

Foon
quelle
3

Wenn Sie die Hälfte Ihres 16-GB-Speichers entfernen, wird der Computer langsamer.

Dies gilt auch dann, wenn Sie nie annähernd 8 GB Arbeitsspeicher verwenden.

Die Softwareseite wird in anderen Antworten behandelt und hängt davon ab, ob das Betriebssystem RAM anstelle von Festplatte verwendet.

Es kann jedoch vorkommen, dass die Leistung durch Hardware beeinträchtigt wird, wenn der verfügbare Arbeitsspeicher halbiert wird. Der Grund dafür ist, dass RAM-Busse eine Mehrkanalarchitektur verwenden, was bedeutet, dass der Computer Daten zwischen mehreren RAM-Modulen gleichzeitig übertragen kann.

Wahrscheinlich ist Ihr Computer zweikanalig. In diesem Fall können Sie 2 von 4 4-GB-RAM-Modulen entfernen, ohne dass die Leistung durch die Hardware beeinträchtigt wird. Das Entfernen von 1 von 2 8-GB-RAM-Modulen wirkt sich jedoch auf die Leistung aus.

Wenn Sie über eine Quad-Channel-RAM-Architektur verfügen, werden Sie einen Performance-Hit sehen, auch wenn Ihr RAM 4 GB-Module umfasst.

Taemyr
quelle
2

Wenn der Speicher jemals ausgelastet ist oder 99%, wird die Geschwindigkeit aufgrund der Auslagerungsdatei, die sich auf der Festplatte befindet, beeinträchtigt. Die Festplatte kann nicht einmal an die RAM-Geschwindigkeit heranreichen, da die CPU abhängig von der Busgeschwindigkeit direkt auf den RAM zugreift.

Windows verwendet ca. 3-4 GB RAM im Leerlauf, andere Anwendungen werden nicht mitgezählt. Ich habe jetzt seit Jahren 16 GB ausgeführt und brauchte eigentlich nie mehr als 8 GB. Realistisch gesehen verbraucht der durchschnittliche PC-Benutzer nie mehr als 4-6 GB für Spiele. Ich habe nur gesehen, dass es beim Komprimieren eines Films oder bei RAM-intensiven Vorgängen, die normalerweise mit Multimedia zu tun haben, fast 12 GB erreicht. Mehrkern-CPUs wären die einzige Möglichkeit, mehr als 8 GB zu benötigen. und ja es würde genauso schnell laufen. IMO.

Leerlauf nach 1 Tag Betriebszeit: Bildbeschreibung hier eingeben Bildbeschreibung hier eingeben

Leerlauf nach 2 Tagen Betriebszeit: Bildbeschreibung hier eingeben Bildbeschreibung hier eingeben

Je mehr RAM Windows hat, desto mehr RAM scheint es zu verwenden.

Bildbeschreibung hier eingeben

In Bezug auf Windows 7 ist die Verwendung von RAM zur Beschleunigung bestimmter Prozesse hier ein Beispiel.

Bildbeschreibung hier eingeben

Wenn Chkdsk den Arbeitsspeicher maximiert, um das Zwischenspeichern zu beschleunigen, werden die Leistung und die Zeit für die Festplattenüberprüfung beschleunigt. In diesem Fall ist also mehr tatsächlich = schneller

Morbid
quelle
1
Windows 7? Selbst mit viel Zeug gehe ich kaum über 2G.
Simon Kuang
Je mehr RAM Windows 7 hat, desto mehr wird es verwenden. Im Laufe der Zeit schwankt es aufgrund der von Ihnen geöffneten Programme und ist derzeit geöffnet, bis Dienste und Anwendungen den Speicher freigeben. Es schwankt stetig. In Bezug auf die eigentliche Frage. Sind 8 GB so schnell wie 16 GB, ja und nein, je nachdem, wofür Sie Ihren Computer verwenden. Unter normalen Umständen sollten Sie nicht mehr als 8 GB benötigen und keinen echten Leistungsverlust feststellen, wenn Sie häufig zum Spielen oder Surfen im Internet verwendet werden.
MORBID
2

In der Praxis ist es wahrscheinlicher, dass die Antwort auf die angegebene Frage "NEIN" lautet. Der Q. sagt "(Nutzung) erreicht nie 8 GB" und erwähnt "gleiche Art von Speicher", so dass der wahrscheinlichste Faktor, der die Geschwindigkeit (Festplattenpufferung) beeinflusst, nicht beeinflusst wird. Ein gängiges praktisches Beispiel sind Datenbankserver mit genügend Arbeitsspeicher, um die gesamte Festplatte zu puffern - z. B. mit 4 GB Dateien und 2 GB Prozess- / Systemspeicher, der nicht mehr als 8 GB Arbeitsspeicher beansprucht.

Ausnahmen:

Mehr Arbeitsspeicher kann den Ruhezustand verlangsamen - Auf meinem System mit 32 GB Arbeitsspeicher und SSD-Laufwerk ist ein Kaltstart erheblich schneller als ein Aufwecken aus dem Ruhezustand, da die gesamten 32 GB im Ruhezustand gespart werden. Für das Lesen eines Kaltstarts ist jedoch viel weniger erforderlich. Das Verringern des Speichers würde das System beschleunigen.

Es wäre schneller, wenn Sie auf einen größeren Teil der Festplatte zugreifen würden und die meisten Benutzer mehr Festplattenspeicher als zum Puffern übrig haben. Daher hilft zusätzlicher Speicher. Außerdem melden viele Betriebssysteme nur einen Teil der Nutzung als "Nutzung", und der Rest wird als Pufferung und nicht als "Nutzung" gezählt. (Linux meldet die Verwendung sowohl inklusive als auch exklusive Pufferung).

Speicherkanäle beeinträchtigen die Leistung: [Wenn Sie durch Entfernen des Speichers die Anzahl der verwendeten Speicherkanäle verringern, verlangsamt sich das System, wie Foon richtig ausgeführt hat.]

[edit:] David Schwartz kommentierte, dass das Verringern des Speichers die Grenzen für private, modifizierbare Speicherzuordnungen unter Windows verringert. Windows beschränkt anscheinend die Gesamtmenge dieser Reservierungen auf die Gesamtmenge an Arbeitsspeicher plus Auslagerungsspeicher, damit Sie diese Ressource nicht mehr nutzen können, obwohl "freier Arbeitsspeicher" gemeldet wird (da echter Arbeitsspeicher / Auslagerungsspeicher erst zugewiesen wird, wenn auf eine Seite zugegriffen wird) als Speicherverbrauch gezählt). Linux verhält sich anders - jeder Prozess kann insgesamt Arbeitsspeicher und Auslagerungsgröße zuweisen, und die Gesamtzahl aller Prozesse kann die Gesamtzahl von Arbeitsspeicher plus Auslagerungsspeicher überschreiten.

iheggie
quelle
1
Sie behaupten im Grunde nur, dass "nein" die richtige Antwort ist, sagen aber nicht warum.
David Schwartz
Dies war eine Reaktion auf die akzeptierte Antwort - ich habe nicht die Wiederholungspunkte, um sie direkt zu kommentieren - entschuldigen Sie die Verwirrung. Zur Verdeutlichung, falls dies nicht offensichtlich war, verwenden Sie nur so viel Speicher für die Festplattenpufferung, wie tatsächlich gelesen oder geschrieben wird. t einen Unterschied machen.
Iheggie
1
Das Beispiel, das ich für den Datenbankserver gegeben habe, ist ein Beispiel, bei dem zusätzlicher Speicher kaum einen Unterschied macht - die gesamte verwendete Festplatte wird gepuffert.
Iheggie
Was ist mit der Tatsache, dass mehr RAM mehr Sicherungsspeicher bedeutet, wodurch das Betriebssystem möglicherweise Zuweisungen zulässt, die es andernfalls ablehnen würde?
David Schwartz
In meinem Beispiel für den DB-Server - überhaupt kein Unterschied, da er eine Zuordnung wegen fehlenden freien Speichers niemals verweigern würde. Welche Zuordnung würde der Betreiber verweigern, wenn a. alle Prozesse in Erinnerung, b. Die gesamte Festplatte wurde bereits im Speicher gepuffert. c. es hatte freien Speicher und d. Wurde ein anderes Limit nicht überschritten (z. B. maximale Prozess- / Puffer- / adressierbare Größenlimits)?
Iheggie
0

Speicherfragmentierung ist ein weiterer Grund für zusätzlichen Speicher. Wenn Sie über 8 GB RAM verfügen und diese zu 80% auslasten, insbesondere in modernen Anwendungsfällen (mit viel Speicheraustausch, z. B. beim Öffnen und Schließen von Browser-Registerkarten), kommt es möglicherweise zu einer erheblichen Fragmentierung.

Durch Hinzufügen von zusätzlichen 8 GB RAM ist es wahrscheinlicher, dass das Betriebssystem zusammenhängende Speicherbereiche zur Verfügung stellt. Dies bedeutet, dass weniger häufige Neustarts erforderlich sind, um Leistungseinbußen zu vermeiden.

Joe
quelle
Ich verstehe, dass Speicherfragmentierung etwas ist, das im Speicherbereich eines Prozesses auftreten kann, der auf typischen modernen Systemen virtuell ist und auf das System im Allgemeinen nicht zutrifft. Da der physische Speicher in Seiten unterteilt ist, die einzeln in die virtuellen Speicherbereiche der Prozesse abgebildet werden, wäre die Fragmentierung ein menschenleeres Konzept. Bitte korrigieren Sie mich, wenn ich etwas falsch verstanden habe.
Thomas Padron-McCarthy
0

Möglich, aber nicht unbedingt. Unter anderem ermöglicht der RAM einem Computer die Zuweisung von Speicher, den die Anwendung möglicherweise nie verwendet. Wenn das System nicht über genügend Sicherungsspeicher (einschließlich RAM) verfügt, um jede von ihm ausgegebene Zuordnung zu ermöglichen, so viel Speicher wie möglich zu belegen, muss das Betriebssystem diese Zuordnungen entweder ablehnen oder eine Überbeanspruchung durchführen. Einige Betriebssysteme überladen nie und so gut wie alle modernen Betriebssysteme begrenzen den Umfang der zulässigen Überbelegung.

Speicher, der nicht verwendet wird, kann also die Leistung verbessern, indem Vorgänge, für die möglicherweise RAM erforderlich ist, dort erfolgreich ausgeführt werden, wo sie andernfalls fehlschlagen würden.

David Schwartz
quelle
-1

Mehr RAM beschleunigt den Computer nicht. Weniger RAM "verlangsamt" den Computer.

Computer haben ihre physische Höchstgeschwindigkeit (einschließlich Übertakten) und nichts kann sie schneller machen.

Xtro
quelle
3
Wie in der Antwort von Wyzard gezeigt, umfasst der "Computer" als Ganzes den Festplattenzugriff, bei dem mehr RAM mehr Caching zulässt und ihn daher beschleunigt.
Bitte löschen Sie mich
Meinen Sie damit, dass wir die physische Geschwindigkeitsbegrenzung eines Computers erhöhen können, indem wir Terabyte RAM hinzufügen?
Xtro
Festplatten berücksichtigen, ja.
Bitte löschen Sie mich
Übrigens verlangsamt weniger RAM den Computer auch nicht immer. Der L3-Cache hat den Computer aufgrund von Cache-Fehlern mehrmals verlangsamt .
Bitte löschen Sie mich
2
Ich finde Ihre Antwort tautologisch. Ja, die 'maximale Geschwindigkeitsbegrenzung' der CPU ist die maximale Geschwindigkeit der CPU. Gute Show. Aus praktischer Sicht arbeitet ein PC mit übermäßigem RAM jedoch etwas schneller als ein PC mit nur ausreichend RAM.
Joe