3 GB RAM Vom BIOS installiert und erkannt, Windows Vista 32-Bit sieht nur 2 GB


9

Ich versuche, mehr RAM auf einem Windows Vista 32-Bit-Computer zu installieren, der ein X6DAL-XG- Motherboard verwendet. Die im BIOS angegebene RAM-Größe beträgt 3 GB +, Windows meldet jedoch nur 2 GB installiert. Das Motherboard verfügt über 6 RAM-Schächte, die ich mit verschiedenen Kombinationen von 4 1-GB-Sticks und 2 512-MB-Sticks bestückt habe. Unabhängig davon, wie ich sie konfiguriere, sieht Windows nicht mehr als 2 GB. Ich weiß natürlich, dass 32-Bit-Windows eine Speicherbeschränkung von 3 GB hat, aber das erklärt nicht, warum es nur 2 GB meldet, wenn tatsächlich (derzeit) 5 GB installiert sind. Ich sollte denken, ich könnte mindestens 3 GB sehen.

Gemäß der Spezifikationsliste für das Motherboard sind die Mindestanforderungen an den RAM paarweise DDR333 / 266 MHz installiert. Ich habe genau das getan und das BIOS meldet keine Probleme bei POST.

RAM-Konfiguration (gemäß CPU-Z)

  • Steckplatz Nr. 1: PQI MD6412ROE - 512 MB PC2700 (166 MHz)
  • Steckplatz Nr. 2: PQI MD6412ROE - 512 MB PC2700 (166 MHz)
  • Steckplatz Nr. 3: Kingston 128 x 72 T266C25 - 1024 MB PC2100 (133 MHz)
  • Steckplatz Nr. 4: Kingston KVR266X72RC25 / 1024 - 1024 MB PC2100 (133 MHz)
  • Steckplatz Nr. 5: Kingston 128 x 72 T266C25 - 1024 MB PC2100 (133 MHz)
  • Steckplatz Nr. 6: Kingston KVR266X72RC25 / 1024 - 1024 MB PC2100 (133 MHz)

Ich bin nicht sicher, ob die oben genannten Speicherspezifikationen mit dieser Aussage im Motherboard-Handbuch in Konflikt stehen oder nicht:

Speicherunterstützung

Der X6DAL-XG unterstützt bis zu 12 GB / 24 GB registrierten ECC DDR333 / 266-Speicher (PC2700 / PC2100). Das Motherboard wurde für die Unterstützung von 4 GB (PC2100) -Modulen in jedem Steckplatz entwickelt, es wurden jedoch nur die 2 GB-Module getestet. Bei Verwendung eines registrierten ECC DDR333-Speichers (PC2700) wird die Installation von vier Doppelbankspeichern oder sechs Einzelbankspeichern unterstützt.

Mache ich also etwas falsch mit dem RAM, das ich jetzt habe, oder gibt es ein Kompatibilitätsproblem, das mir fehlt?

Vielen Dank!


Ein paar weitere Details

  • CPU-Z-Bericht für die Maschine
  • Ich habe einige zusätzliche Tests mit diesem Problem sowohl in Ubuntu als auch in Windows Server 2008 durchgeführt und beide melden ebenfalls nur 2 GB.
  • Ich habe versucht, mit der Memory Remap-Funktion (Aktivieren / Deaktivieren) in der Northbridge-Konfiguration meines Motherboards herumzuspielen, habe jedoch keine Ergebnisse gesehen.
  • Zusätzlich zu der oben genannten Hardware habe ich eine 256 MB PCI Express-Grafikkarte und das wars für Peripheriegeräte. Ich glaube nicht, dass speicherabgebildete E / A hier das Problem sind.
  • Ich habe die 2 512-MB-Sticks entfernt und bin nur auf die 4 1-GB-Sticks beschränkt
  • Ich habe das Motherboard-BIOS auf die neueste Herstellerversion aktualisiert

Ein weiteres Update

Ich habe es geschafft, diese Hardwarekonfiguration auf einer 64-Bit-Kopie von Ubuntu zu testen, und der RAM wird bei 4 GB vollständig erkannt , aber unabhängig von der RAM-Konfiguration kann ich kein 32-Bit-Betriebssystem finden, das mehr als 2 GB lesen kann. Die Frage bleibt also: Warum kann ein 64-Bit-Betriebssystem mehr als 2 GB RAM sehen, während ein 32-Bit-Betriebssystem, das auf demselben Computer installiert ist, auf 2 GB begrenzt ist?


Nach Gedanken

Ich bin sehr dankbar für die Beiträge aller, aber ich glaube immer noch nicht, dass es trotz all Ihrer Bemühungen eine richtige Antwort auf dieses Problem gegeben hat. Dank @Goyuix habe ich erfahren, dass ich eine 64-Bit-CPU verwendet habe und es nicht einmal bemerkt habe, und jetzt habe ich zumindest eine akzeptable Lösung.

Abgesehen von einigen unerwarteten Ereignissen sieht es so aus, als würde das Kopfgeld aufgrund des Ablaufs des Kopfgeldes automatisch an @Mark Booth gutgeschrieben, was mir nicht unbedingt etwas ausmacht, da seine Antwort gut ist . Es ist einfach nicht die Lösung für dieses spezielle Problem. (Absolut nichts für ungut, Mark, ich schätze deine qualitativ hochwertige Antwort sehr!)

In jedem Fall war die durch diese Frage hervorgerufene Diskussion für mich äußerst informativ (und sollte als hervorragendes Referenzmaterial für zukünftige Suchende dienen). Das ursprüngliche Problem wurde erfolgreich abgemildert durch den Einsatz eines 64-Bit - Betriebssystem, aber es ist immer noch nicht gelöst worden . Leider (für mich) werde ich nie wirklich zufrieden sein, bis ich das genaue Problem genau bestimmen kann. Wenn es also irgendwann in der Zukunft jemandem gelingt, an eine Lösung zu denken, die nicht erwähnt wurde, posten Sie sie bitte.

Vielen Dank an alle.


Wenn Sie Windows 7 zur Verfügung hätten, würde ich sehr gerne sehen, wie dieser Patch funktioniert: superuser.com/questions/67444/…
Durchbruch

Was passiert auch, wenn Sie die beiden 512-MB-Sticks entfernen?
Durchbruch

@Breakthrough Ich habe versucht, die 512-MB-Sticks zu entfernen, aber es schien keinen Unterschied zu machen. Ich habe jede mögliche Paarungskombination des gleichen Modells mit den 6 verfügbaren RAM-Sticks ausprobiert.
Nathan Taylor

Überprüfen Sie das Systemereignisprotokoll, indem Sie eventvwr.msc ausführen und nach verwandten Nachrichten suchen.
Mark Allen

@Mark Es ist nicht nur auf Windows isoliert - kommt auch in Ubuntu vor. Das Ereignisprotokoll weist nicht auf ein Hardwareproblem hin.
Nathan Taylor

Antworten:


3

Da Sie in einem Kommentar erwähnt haben, dass Server 2008 nur 2 GB meldet, stimmt etwas mit Ihrer Konfiguration nicht.

  1. Was meldet Ihr BIOS für den installierten RAM? Sieht es 4 GB?
  2. Nach dem Handbuch:
    • Memory Remap muss aktiviert sein
    • Die Speicherspiegelung muss deaktiviert sein
  3. Wie sind Ihre Module installiert? Das Handbuch legt fest, dass sie paarweise installiert werden müssen und dass die gepaarten Steckplätze nebeneinander liegen. Laut Ihrem Beitrag scheint Ihr gepaarter RAM nicht in benachbarten Steckplätzen installiert zu sein. Überprüfen Sie die physische Installation Ihrer Module anhand des Motherboard-Handbuchs / Motherboard-Aufdrucks.
  4. Haben Sie jedes Paar 1-GB-Module einzeln ausprobiert?
    • Wenn ja, testen Sie jedes Paar mit Memtest86 +, um sicherzustellen, dass jedes Paar ordnungsgemäß funktioniert.
    • Wenn jedes Paar auscheckt, ändern Sie die Reihenfolge, in der es installiert ist.

Das BIOS meldet 4 GB, ebenso wie CPU-Z. Die Speicherzuordnung ist aktiviert und die Spiegelung deaktiviert. Ich werde es noch einmal versuchen, aber wenn ich mich erinnere, dass das RAM anders gekoppelt wird als derzeit, wird es vom BIOS nicht erkannt. Ich werde versuchen, die einzelnen Paare zu testen und zu sehen, was passiert.
Nathan Taylor

Irgendein Wort zum Testen der einzelnen Paare?
Afrazier

Äh, wie wurde dieser akzeptiert? Ich habe es nicht ausgewählt, was bedeutet, dass die Antwort mit der höchsten Bewertung es annehmen sollte, nein?
Nathan Taylor

"Die Antwort mit der höchsten Stimme, die erstellt wurde, nachdem das Kopfgeld mit mindestens 2 Upvotes begonnen hat, wird automatisch akzeptiert." (Hervorhebung von mir) Das heißt, Sie haben immer noch ein Problem, wenn der 32-Bit-Server 2008 nicht alle 4 GB sieht. Wenn dies ein Produktionsserver ist, sollten Sie das wirklich klären.
Afrazier

9

In Anbetracht der oben angegebenen Beweise sind die beiden wahrscheinlichsten Dinge zu berücksichtigen:

  • Speicherzugeordnete Hardware beschränkt den verfügbaren Speicher auf ein 32-Bit-Betriebssystem.

  • Windows begrenzt künstlich den für das Betriebssystem verfügbaren Speicher.

Hardware-Begrenzung

Mit einem 32-Bit-Betriebssystem haben Sie 4 GB Adressraum. Alle Peripheriegeräte mit speicherabgebildeten E / A (E / A-Ports, Netzwerkkarten, Grafikkarten, andere Motherboards oder Zusatzkarten) belegen einen Teil (normalerweise recht klein) dieses Adressraums. Ein Speicher, der für speicherabgebildete E / A verwendet wird, kann nicht für den Hauptspeicher verwendet werden.

Die schlimmsten Probleme mit speicherabgebildeten E / A sind Grafikkarten. Wenn Sie zwei Grafikkarten mit jeweils 1 GB oder Speicher haben, werden 2 GB Ihres Adressraums verbraucht, sodass Sie nur 2 GB Hauptspeicher haben, unabhängig davon, wie viel physischen Speicher Sie installiert haben.

Dies ist auf einem Computer mit einem 64-Bit-Betriebssystem kein Problem, da diese 2 GB weit entfernt von Ihrem Hauptspeicher zugeordnet werden können. Auf einem 32-Bit-Betriebssystem sind Sie jedoch auf insgesamt 4 GB beschränkt (ohne Tricks zu verwenden, die Microsoft in ihrem Nicht-Betriebssystem deaktiviert hat Server 32bit OS).

Künstliche Begrenzung

Die andere Möglichkeit besteht darin, dass einige Hardware- oder Softwarekomponenten die für Windows bei der Installation installierte Speichermenge einschränken und dass die künstliche Begrenzung auch nach der Installation von mehr Speicher weiterhin besteht.

Ich habe dies unter Vista noch nie gemacht, aber unter XP würden Sie msconfig ausführen und die "Erweiterten Optionen" auf der Registerkarte "BOOT.INI" anzeigen. Wenn "/ MAXMEM" eingestellt war, ignorierte XP den gesamten darüber liegenden Speicher.

Beim Durchsuchen des Webs scheint es, als würden Sie bcdedit unter Vista verwenden. Eine schöne Beschreibung der Verwendung finden Sie hier . Stellen Sie jedoch wie immer sicher, dass Sie verstehen, was Sie tun, bevor Sie sich mit diesen Dingen beschäftigen.

Andere Möglichkeiten, speziell für Server- / Workstation-Systeme

Wenn ich das X6DAL-XG- Handbuch durchschaue , frage ich mich, ob die "Speicherspiegelung und -ersparnis" im BIOS aktiviert ist:

Wählen Sie Aktiviert, um Memory RAS (-Mirroring and Sparing) zu aktivieren, damit das System aus Gründen der Datensicherheit eine Spiegelkopie der in den Speicher geschriebenen Daten erstellen kann. Die Optionen sind Deaktiviert und Aktiviert.

Ich würde vermuten, dass im Speicherspiegelungsmodus nur 4 Bänke verwendet werden, was erklären würde, warum das Entfernen der 512 MB Dimms keinen Unterschied für den für Windows sichtbaren Speicher machte.


1
Ich verwende derzeit eine GeForce 7800GTX mit 256 MB Videospeicher auf diesem System, daher vermute ich nicht, dass sie sehr stark in den physischen Speicher eindringen würde.
Nathan Taylor

Dies ist eine großartige Antwort, aber soweit ich das beurteilen kann, ist keines der Probleme das Problem, das ich aufgrund der Hardwarekonfiguration und der Tatsache habe, dass sich das Problem auch auf andere Betriebssysteme erstreckt.
Nathan Taylor

Aufgrund meiner Entdeckung, dass der RAM auf einem 64-Bit-Betriebssystem vollständig erkannt wird, kann ich mit Sicherheit sagen, dass diese Antwort nicht relevant ist. Trotzdem vielen Dank!
Nathan Taylor

Da Sie den gesamten Arbeitsspeicher des 64-Bit-Betriebssystems sehen, würde ich vorschlagen, dass diese Antwort sehr relevant ist
HorusKol

@Mark Ich habe derzeit Memory Mirroring and Sparing auf den Standardwert "Disabled" gesetzt.
Nathan Taylor

2

Obwohl es Ihr Problem nicht sofort löst, kann es bei der Diagnose hilfreich sein. Haben Sie versucht, eine Linux-Live-CD wie Ubuntu auszuführen ? Idealerweise sollten Sie versuchen, sowohl eine 32-Bit- als auch eine 64-Bit-Version zu booten - auf dem 64-Bit sollte der zusätzliche RAM ohne Probleme angezeigt werden, und wenn nur zwei angezeigt werden, liegt mit ziemlicher Sicherheit ein Hardwareproblem vor. Wenn das 32-Bit-Linux auch nur 2 GB RAM sieht, haben Sie , wie von Mark Booth angegeben , wahrscheinlich Speicher-E / A, die den Rest übernehmen.

Grafikkarten sind in der Regel die schlimmsten Straftäter, wenn es darum geht, verfügbaren RAM zu verbrauchen. Sie haben nicht zufällig zwei 1-GB-Karten installiert, oder?

Speicher-Neuzuordnung

Viele moderne BIOS haben die Option, den Speicherplatz neu zuzuordnen, um MMIO-Probleme zu vermeiden. Dies funktioniert jedoch nur für 64-Bit-Betriebssysteme oder PAE-fähige Systeme. Überprüfen Sie Ihr BIOS auf diese Einstellung.

http://support.microsoft.com/kb/929605


Das System läuft derzeit mit einem einzigen 7800GTX (256 MB), daher vermute ich nicht, dass dies die Ursache des Problems ist
Nathan Taylor

@ Nathan - hast du eine der Linux-Varianten ausprobiert? Beachten Sie auch: Unabhängig davon, wie viel RAM Sie installiert und sichtbar haben, kann ein einzelner Prozess unter einem 32-Bit-Desktop-Windows-Betriebssystem niemals mehr als 2 GB verwenden. Wo sehen Sie die 2 GB gemeldet? Das BIOS? Die Systemeigenschaften? Was passiert, wenn Sie an den beiden 512-MB-Sticks ziehen?
Goyuix

@Goyuix Ich hatte den Eindruck, dass Windows 32-Bit bis zu 3 GB adressieren kann, auch wenn es nur 2 GB für Prozesse reserviert. Das BIOS meldet 4 GB RAM, während das Betriebssystem nur 2 GB meldet. Ich habe Linux nicht ausprobiert, aber ich habe versucht, die Sticks zu ändern, einschließlich des Entfernens der 512-MB-DIMMs.
Nathan Taylor

@ Nathan in der Theorie Win32 kann alle 4 GB Speicher adressieren. Das Problem ist, dass die x86-Architektur für viele Geräte speicherabgebildete E / A verwendet. In der Regel sind Grafikkarten aufgrund ihrer großen Speichergröße der größte Übeltäter. Eine 512-MB-Karte reduziert den maximal adressierbaren Arbeitsspeicher auf 3,5 GB. Legen Sie zwei 1-GB-Grafikkarten in einen Computer ein, und Win32 kann nicht einmal mehr als 2 GB RAM insgesamt anzeigen. Andere Geräte verwenden ebenfalls speicherabgebildete E / A, obwohl ihr Adressbereich normalerweise höchstens einige Megabyte beträgt und weitgehend unbemerkt bleibt.
Goyuix

1
@ Nathan: Es ist nicht nur die Grafikkarte. Der Systemchipsatz, das Add-In und die integrierten Geräte sowie die BIOS-Konfiguration spielen eine Rolle, da so viele Dinge MMIO verwenden. Außerdem können 32-Bit-Windows- Clients nur Speicheradressen mit bis zu 4 GiB verwenden. Server 2003 Std 32-Bit kann bis zu 4 GB RAM adressieren, unabhängig davon, welche Adressen verwendet werden. Enterprise & DataCenter kann viel, viel mehr ansprechen. Das gesamte "32-Bit-Windows 4-GiB-Limit" ist eine Lizenzbeschränkung, nichts weiter. Die Menge an virtuellem Adressraum, die einem einzelnen Prozess zur Verfügung steht, ist ein völlig anderes Problem.
Afrazier

1

Wenn alle Betriebssysteme 2 GB melden, liegt das Problem wahrscheinlich am Motherboard.

Ich mag die Tatsache nicht, dass Sie zwei verschiedene Speicherkarten verwenden, obwohl sie paarweise installiert sind.
Ich würde vorschlagen, nur eine Art von Speicherkarte zu verwenden.

Laut ramshopping.com werden für Ihr Motherboard nur die KVR-Karten empfohlen.
Ich würde versuchen, die beiden anderen Karten herauszunehmen und zu prüfen, ob der Computer noch mit 2 GB startet.
Wenn ja, würde ich die beiden nicht funktionierenden Karten durch Karten ersetzen, die mit denen identisch sind, die funktionieren.


1
Obwohl dies eine Möglichkeit ist, glaube ich nicht, dass dies das Problem ist, da ich 4 verschiedene RAM-Typen ausprobiert habe, die alle 1-GB-Sticks waren, und von allen sind die 4, die ich jetzt installiert habe, die einzigen 4, die vollständig erkannt wurden vom BIOS.
Nathan Taylor

@ Nathan Taylor: Aber hast du 4 identische Sticks benutzt?
Harrymc

Nein, nur die 4 Sticks, die Sie oben sehen.
Nathan Taylor

@ Nathan Taylor: Das habe ich gemeint - mit 4 Stöcken des gleichen Typs.
Harrymc

Es verwendet 4 Kingston- 2 KVR, 2 128mx-, wie es seit einiger Zeit ist ..
Nathan Taylor

0

Ich weiß nicht, ob dies das Problem beheben wird, aber es scheint nicht, dass Sie Ihre RAM-Module richtig koppeln. Gemäß der Spezifikationsseite sollten die Paare gemäß den blauen und schwarzen Paaren nebeneinander nebeneinander geschlitzt sein.

Ihr oben aufgeführtes Setup scheint dem nicht zu folgen. Es ist möglich, dass das Betriebssystem versucht, die beiden Kanäle zu lesen.


0

Sie sollten Ihr BIOS überprüfen. Viele haben eine Funktion namens "OS Install Mode" oder einen ähnlichen Namen, der die Menge an RAM begrenzt, die Ihr Betriebssystem sehen kann. Dies war erforderlich, da einige Betriebssysteminstallationsprogramme fehlschlagen würden, wenn zu viel Speicher verfügbar wäre. Das Ausschalten sollte behoben sein.


Ich habe mich im BIOS und auch im Handbuch umgesehen, sehe aber keine ähnlichen Optionen.
Nathan Taylor
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.