Wie kann ein Computer / Betriebssystem erkennen, welche Art von RAM sich im Computer befindet?

80

Wie kann Mac OS X erkennen, welcher RAM-Typ im Computer vorhanden ist? Ich habe zum Beispiel an einem DDR3-RAM mit 1600 MHz gearbeitet und dachte, es wäre nicht möglich, den RAM zu erkennen, ohne das Gehäuse physisch zu öffnen und zu überprüfen. Wie kann dies auf anderen Systemen durchgeführt werden?

Celeritas
quelle
6
Hinweis: Ich habe die Kommentare entfernt, da sie nirgendwo hingehen. Sie können verwenden Super User Chat zum diskutieren.
slhck
@Celeritas: Ich habe Ihre letzte Änderung rückgängig gemacht. Fragen Warum Ein Entwickler / Hersteller hat sich dafür entschieden, eine Funktion zu seinem Produkt hinzuzufügen oder daraus zu streichen nicht konstruktiv .
Karan
@ Karan Ich habe mich gefragt, ob sich die Mac-Hardware oder das Mac-Betriebssystem irgendwie von der Hardware unterscheidet, auf der Windows ausgeführt wird, wodurch es einfacher ist, den RAM-Typ zu bestimmen. Es scheint eine nützliche Funktion zu sein, die in das Betriebssystem integriert wird, damit die Benutzer wissen, welche Art von RAM sie erhalten müssen, wenn sie ein Upgrade durchführen möchten. Sie können die Frage bearbeiten, um zu reflektieren, was ich Ihnen gerade gesagt habe, aber sie umformulieren, damit sie besser passt.
Celeritas
1
Da Sie bereits gefragt haben, ob dies unter Windows möglich ist, und Sie Antworten erhalten haben, in denen Sie erfahren, wie dies möglich ist, gibt es keinen grundlegenden Hardwareunterschied, der Windows daran hindert, die gewünschten Informationen anzuzeigen (SPD-Daten werden wie unten dargestellt gespeichert) auf dem RAM-Modul und ist für alle Betriebssysteme / Anwendungen zugänglich, die es lesen möchten). Darüber hinaus macht es keinen Sinn zu diskutieren, warum genau MS dies nicht tun, selbst wenn dies für Endbenutzer nützlich ist.
Karan
Der i2c-Bus ist ein Standard, mit dem jedes Betriebssystem kommunizieren kann. Die SPD präsentiert sich als 128-Byte-, 256-Byte- oder 512-Byte-EEPROM. Das Betriebssystem muss nur diese Bytes, die einem anderen Standard namens JEDEC entsprechen, mit i2c aus dem EEPROM abrufen und dann anhand dieser Daten herausfinden, um welche Art von Speicher es sich handelt. Es ist sehr Betriebssystemunabhängig.
LawrenceC

Antworten:

147

RAM - Sticks haben einen kleinen Chip, den so genannten Serielle Anwesenheitserkennung Hier finden Sie Informationen wie Kapazität, bevorzugte Zeiten, Hersteller und sogar eine Seriennummer.

SPD-Informationen können von Betriebssystemen über den i2c-Bus abgerufen werden (einschließlich Temperatursensoren). Ich denke, Sie können die SPDs von Linux mit verschiedenen i2c-Dienstprogrammen direkt lesen.

Dieses Bild aus dem Wikipedia-Artikel hat ein gutes Bild davon: e

LawrenceC
quelle
2
Unter Linux dmidecode --type memory lässt Sie einige der Informationen sehen. Anscheinend kann es einen Hersteller und eine Seriennummer ausgeben, aber zumindest auf meinem System werden diese als einfach gemeldet ManufacturerN und SerNumN mit N Sein, was scheint, die Steckplatznummer zu sein.
a CVn
2
ich dachte dmidecode analysierte etwas, das das BIOS beim Booten zusammensetzt. Das BIOS sollte die SPD lesen und entsprechend melden - fehlerhafte BIOS sind jedoch nichts Neues.
LawrenceC
1
+1 für die einzige Antwort, die SPD erwähnt
Jonathon Reinhart
1
Es scheint mir, dass es eine Zeit gab, in der RAM - Sticks keine SPD - Chips hatten ... Zumindest erinnere ich mich noch genau an die Preislisten für RAM, in denen Artikel eindeutig als SPD und Nicht - SPD gekennzeichnet waren (es lag ungefähr bei a Zeit der Einführung des DIMM-Standards)
Mikhail
1
@Mikhail Ja, SIMMs hatten 4 Pins für die "Anwesenheitserkennung" - diese wurden hoch oder niedrig gezogen, um eine Kennung zu erhalten, die Größe und Geschwindigkeit angibt. ohlandl.ipv7.net/config/mempresence.html
ali1234
47

Unter Windows:

wmic memoryChip get /?

Gibt Ihnen verschiedene RAM-Informationen, die Sie direkt an der Eingabeaufforderung anfordern können.

Zum Beispiel,

wmic memorychip get serialnumber

Gibt Ihnen die Seriennummer. Sie können auch verwenden Speed, Model manchmal, Manufacturer und mehr.

WMI ist die Windows-Abfragemethode SMBIOS Daten. Apple, Linux, Windows und alle anderen, die die meiste hergestellte Hardware verwenden möchten, müssen aus verschiedenen Gründen SMBIOS auf einer bestimmten Ebene unterstützen.

Sie können SMBIOS (z. B. über WMI oder WMIC in Windows) verwenden, um auch Festplatten- und Netzwerkinformationen zu erfassen (handelt es sich um eine 10 / 100- oder 10/100/1000-Karte?).

Um noch einen Schritt weiter zu gehen, hat jeder Hersteller einen Code für MAC-Adressen auf NICs. RAM hat auch einen Herstellercode. Alles, was Sie tun müssen, um ihren Code zu erhalten, zum Beispiel, dass meine 2 x 2 GB in diesem Laptop 830B sind, eine Datenbank für die Hersteller erstellen (830B könnte eine Marke sein und dann auch weiterverkauft werden!) Und auch welche Modelle was bedeuten. Ich glaube, so funktioniert CPUz - grundlegende Abfragen und eine wirklich vollständige und aktuelle Datenbank.

Austin T French
quelle
3
Beachten Sie, dass WMI DMI / SMBus-Informationen abfragen kann, aber ist nicht die Windows-Implementierung davon . Zusätzlich, dmidecode was rein abfragt und dekodiert ist DMI Information als Windows-Port verfügbar auch.
syneticon-dj
@ syneticon-dj Ich bin mir nicht sicher, ob Sie hier etwas hinzugefügt haben und Ihr Standpunkt ist unklar. WMI ist Windows Management Instrumentation. Zu seinen Funktionen und Aufgaben gehört das Lesen von SMBUS. Aber wenn dein Standpunkt war, dass alle Anorken Norken sind, aber nicht alle Norken Norken ... dann ja, genau ...?
Austin T French
Mein Punkt ist, dass Ihr Wortlaut so ungenau ist, dass es leicht zu Missverständnissen kommt. WMI können Schnittstelle mit SMBIOS, aber es ist in keiner Weise seine Implementierung (die auf der Hardware / BIOS-Seite und nicht innerhalb des Betriebssystems liegt).
syneticon-dj
Es heißt: "WMI ist eine Windows-Implementierung des SMBus-Standards für Lesegeräte." Und es ist eine Windows-Methode zum Lesen / Abfragen und zum Erkennen des Inhalts ... WMI bietet jedoch noch viel mehr.
Austin T French
2
@ syneticon-dj - mach eine Änderung, wenn es falsch ist.
Enigma
18

Die Speichergeschwindigkeit und -art wird mit dem BIOS ausgehandelt und kann vom Betriebssystem gelesen werden.

Es gibt eine sehr gute Website, die Ihnen ein tieferes Verständnis für diese Dinge vermittelt http://www.computermemoryupgrade.net/index1.html

Sie können jedoch leicht herausfinden, welche Arten und Geschwindigkeiten Sie haben, ohne die Abdeckung zu öffnen:

Apple - & gt; Über diesen Mac - & gt; Weitere Informationen - & gt; Systembericht

Hardware öffnen - & gt; Erinnerung

Sie sollten jeden RAM-Stick sehen, einschließlich Größe, Typ und Geschwindigkeit (und zum Spaß den Status, um sicherzustellen, dass alles in Ordnung ist).

System Report with Memory

jnovack
quelle
13

Auf vielen Linux-Distributionen (z. B. Debian) können Sie das verwenden lshw hardware lister

sudo lshw |grep DDR
         description: SODIMM DDR3 Synchronous 1067 MHz (0.9 ns)
         description: SODIMM DDR3 Synchronous 1067 MHz (0.9 ns)

Ich vermute, dass RAM, wie jede andere Hardware, seine Beschreibung und Fähigkeiten an das Betriebssystem meldet. Wenn Linux das kann, sehe ich keinen Grund, warum OSX das nicht kann.

Wenn auf Ihrer Distribution lshw nicht installiert ist, können Sie es mit Ihrem Paketmanager installieren, z.

aptitude install lshw

oder laden Sie es von der Projekt-Website herunter.

terdon
quelle
Zu Ihrer Information, lshw ist unter OS X nicht verfügbar:
slhck
@ b.long kniehohe Reaktion, weil die Frage win / osx aber nicht Linux getaggt ist?
Dan Neely
Tut mir leid, dass ich nicht die ganze Frage (oder den Titel anscheinend) gelesen habe. Ich dachte, es würde nach einem Betriebssystem gefragt
blong
@slhck Meine schlechte, ich habe gerade eine schnelle Google-Suche nach OSX lshw und sah dieser Beitrag auf der Apple-Website und ich nahm an, dass es für OSX existiert, ohne den fraglichen Beitrag tatsächlich zu lesen. (erröten). Mein Punkt hier war jedenfalls, dass wenn Linux den RAM-Typ sehen kann, warum sollte es dann nicht OSX sein?
terdon
9

Unter Mac OS X vom Terminal aus ausführen:

$ system_profiler SPMemoryDataType
Borys Borysenko
quelle
4

Der RAM-Stick speichert Timing, Geschwindigkeit und Typ auf einem kleinen Chip auf dem Stick. Woher weiß Ihr Computer, wie schnell der Arbeitsspeicher ausgeführt werden kann, ohne seine Daten zu beschädigen? Gleicher Chip. Apple wählt einfach, diese Daten auch anzuzeigen.

MarcusJ
quelle
3
Es heißt SPD - Serielle Anwesenheitserkennung .
David Schwartz
Der erste Satz ergibt wenig Sinn.
a CVn
2
Was ist damit nicht sinnvoll? Das ergibt für mich einen Sinn und das ist die erste Beschwerde, die ich bekommen habe.
MarcusJ
2

Um die Antwort von ultrasawblade zu ergänzen und die SPD-Daten unter Linux zu dekodieren, können Sie das verwenden decode-dimms perl Drehbuch aus dem i2c-tools :

sudo modprobe -a i2c-i801 eeprom
decode-dimms

Oder für das HTML-Format:

decode-dimms -f | w3m -T text/html

(w3m ist ein textbasierter Browser / Pager). Oder natürlich:

decode-dimms -f > dimms.html
xdg-open dimms.html
sch
quelle
1

Speccy ist eine Windows-Software, die Ihnen viele Informationen zu Ihrem Computer liefert, einschließlich RAM-Typ / Größe / Gesamtzahl der Steckplätze / verfügbaren Steckplätze.

Jesse Toxik
quelle
2
Vorher habe ich benutzt CPU-Z um solche Informationen auf Windows-Rechnern zu erhalten - es gibt Ihnen sehr detaillierte Informationen über CPU, RAM & amp; sogar mehr. Es ist klein & amp; ordentlich & amp; regelmäßig aktualisiert werden.
Mikhail