fand ich, dass physische Speicher in Reihen aufgeteilt wird wie folgt (Speicher-Interleaving):Wie wird zusammenhängender Speicher im Linux-Kernel verwendet?
rank0: [0-512KB] [2048KB-2560KB] [4096KB-4608KB] ...
rank1: [512KB-1024KB] [2560KB-3072KB] [4608KB-5120KB] ...
rank2: [1024KB-1536KB] [3072KB-3584KB] [5120KB-...
rank3: [1536KB-2048KB] [3584KB-4096KB] ...
Linux-Kernel diese verschachtelten Speicher fast voll ist. Der vom Linux-Kernel gesehene physische Speicher ist also nicht zusammenhängend. Korrigiere mich, wenn ich falsch liege.
Ich habe Linux Quellcode für meine Kursarbeit untersucht.
Beim Erstellen von sysfs (/ sys/devices/system/memory) erstellt der Linux-Kernel die Abschnitte (memory0, memory1, ...) bestimmter Größe (128 MB auf meinem System) dieses verfügbaren physischen Speichers. Mithilfe von Statusdateien in diesen Verzeichnissen kann ich Abschnitte offline/Online erstellen. (Memory Hotplug)
So ist der physische Speicher, der durch diese Abschnitte dargestellt wird, verstreut. Also, wenn ich irgendeinen Bereich offline mache, der diesen verstreuten Speicher macht, zeigt er auf nicht verfügbar.
Ich möchte diese Abschnitte beziehen sich auf zusammenhängende Speicher. etwas wie das:
Also, wenn ich einen Abschnitt offline machen, dann zusammenhängende physischen Speicher im Zusammenhang mit diesem Abschnitt nicht verfügbar. Also, kann ich machen Linux Kernel physischen Speicher als zusammenhängende anstelle von Interleaved sehen?
Korrigieren Sie mich, wenn ich etwas falsch mache.
Vielen Dank.
kann mir jemand dabei helfen ?? –
Was ist Ihre Prozessorarchitektur? Du hast gesagt, die Erinnerung ist in Ränge aufgeteilt. In der Realität hängt dies stark davon ab, wie die Prozessor-Speichermanagement-Hardware arbeitet. – user2284570
Sorry für die späte Antwort. Ich war mit mittleren Semester beschäftigt. Ich bezog mich auf eine allgemeine Architektur, die nicht spezifisch für meine Maschine ist. Entschuldigung für die Verwirrung. Aber für diese Diskussion nehme an, dass das System dieses Interleaving unterstützt, also gibt es eine Möglichkeit, es zu deaktivieren? –