Lieber Besucher, herzlich willkommen bei: GentooForum.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.
Quellcode |
|
1 2 |
takumo@festuca ~ $ cat /proc/meminfo MemTotal: 7076124 kB |
Quellcode |
|
1 |
dmidecode -t memory |
Zitat
Allerdings irritiert immer mehr Benutzer die Tatsache, dass oft nicht der gesamte physikalisch eingebaute Speicher vom Betriebsystem genutzt werden kann. Obwohl zum Beispiel das Mainboard vier 1 GB RAM-Riegel unterstützt und der gesamte Speicher von 4 GB im BIOS angezeigt wird, kann man oftmals nur 2.8 - 3.5 GB davon effektiv benutzen. Die Schuld schiebt der Benutzer dann schnell auf das Betriebsystem. Woran liegt es aber wirklich?
Wenn man mehr als 2 GB Hauptspeicher in x86-Systeme einbaut, ist es normal, dass nicht der gesamte physikalische Hauptspeicher benutzt werden kann. Der Grund dafür sind Ressourcenkonflikte durch die 32-bit-Technologie. Da das BIOS nicht weiß, ob ein 32-bit oder 64-bit Betriebsystem gebootet wird, startet es immer im 32-bit Mode. Darin stehen maximal 4 GB addressierbarer Speicher zur Verfügung. Deshalb müssen alle Memory- und Device-Adressräume unterhalb der 4 GB-Grenze eingeblendet werden. Wenn man nun >2 GB physikalischen Hauptspeicher einbaut, dann kommt es zum Ressourcenkoflikt zwischen physikalischem Hauptspeicher und den Device-Adressräumen.
Die meisten BIOS-Versionen lösen das Problem in der Form, dass sie ein Speicherloch unterhalb der 4 GB-Grenze einfügen. Dieses Loch wird auch als PCI-Loch (PCI Hole) bezeichnet. Der Speicher, den dieses Loch belegt, kann von keinem Betriebsystem angesteuert werden. Dadurch bleiben ~512 MB bis ~1.5 GB RAM ungenutzt. Es ist dabei unabhängig, ob es sich um ein 32-bit oder 64-bit OS handelt.
Die einzige Möglichkeit, diesen Speicher nutzbar zu machen, ist die Verlagerung in einen Bereich, der oberhalb von 4 GB liegt und nicht durch physikalischen Speicher schon belegt ist. Dazu bedarf es aber einiger Voraussetzungen:
* Betriebsystemunterstützung
Das Betriebsystem muss Speicher >4 GB ansprechen können. Windows 2000, Windows XP, Windows Server 2003 und Windows Vista unterstützen in den Standardvarianten mit 32-bit maximal 4 GB RAM. Die Advanced-, Enterprise- und Datacenter-Produkte sowie die 64-bit-Versionen können mehr Speicher addressieren, wobei die Grenzen hier von den jeweiligen Versionen abhängen und bis zu 1 TB reichen können.
* Prozessorunterstützung
Intel und AMD unterstützen 40-bit Addressierung in ihren aktuellen x64-Prozessoren (Intel EM64T/AMD64). Ältere Prozessoren sind auf 36-bit (PAE) oder auch 32-bit limitiert.
* Chipsatzunterstützung
Der Chipsatz des Mainboards muss Memory Remapping oberhalb von 4GB unterstützen. Leider beherrscht die grosse Mehrheit der derzeit auf dem Markt erhältlichen Chipsätze für Desktops und mobile Computer genau diese Funktion nicht. Sie lässt sich auch nicht mittels eines BIOS-Updates nachrüsten. Erst die Workstation-Chipsätze von AMD und nVidia sowie demnächst erscheinende neue Chipsätze für Desktops und mobile Computer unterstützen mehr als 4 GB RAM und können die Hauptspeicheradressen zur Umgehung des PCI-Lochs verlagern.
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 |
festuca takumo # dmidecode -t memory # dmidecode 2.9 SMBIOS 2.4 present. Handle 0x0008, DMI type 5, 24 bytes Memory Controller Information Error Detecting Method: None Error Correcting Capabilities: None Supported Interleave: One-way Interleave Current Interleave: One-way Interleave Maximum Memory Module Size: 2048 MB Maximum Total Memory Size: 8192 MB Supported Speeds: Other Supported Memory Types: DIMM SDRAM Memory Module Voltage: 3.3 V Associated Memory Slots: 4 0x0009 0x000A 0x000B 0x000C Enabled Error Correcting Capabilities: None Handle 0x0009, DMI type 6, 12 bytes Memory Module Information Socket Designation: DIMM0 Bank Connections: 0 1 Current Speed: 25 ns Type: DIMM SDRAM Installed Size: 2048 MB (Double-bank Connection) Enabled Size: 2048 MB (Double-bank Connection) Error Status: OK Handle 0x000A, DMI type 6, 12 bytes Memory Module Information Socket Designation: DIMM1 Bank Connections: 2 3 Current Speed: 25 ns Type: DIMM SDRAM Installed Size: 2048 MB (Double-bank Connection) Enabled Size: 2048 MB (Double-bank Connection) Error Status: OK Handle 0x000B, DMI type 6, 12 bytes Memory Module Information Socket Designation: DIMM2 Bank Connections: 4 5 Current Speed: 25 ns Type: DIMM SDRAM Installed Size: 2048 MB (Double-bank Connection) Enabled Size: 2048 MB (Double-bank Connection) Error Status: OK Handle 0x000C, DMI type 6, 12 bytes Memory Module Information Socket Designation: DIMM3 Bank Connections: 6 7 Current Speed: 25 ns Type: DIMM SDRAM Installed Size: 2048 MB (Double-bank Connection) Enabled Size: 2048 MB (Double-bank Connection) Error Status: OK Handle 0x0040, DMI type 16, 15 bytes Physical Memory Array Location: System Board Or Motherboard Use: System Memory Error Correction Type: None Maximum Capacity: 4 GB Error Information Handle: Not Provided Number Of Devices: 4 Handle 0x0042, DMI type 17, 27 bytes Memory Device Array Handle: 0x0040 Error Information Handle: Not Provided Total Width: 64 bits Data Width: 64 bits Size: 2048 MB Form Factor: DIMM Set: None Locator: DIMM0 Bank Locator: BANK0 Type: SDRAM Type Detail: Synchronous Speed: 800 MHz (1.2 ns) Manufacturer: Manufacturer0 Serial Number: SerNum0 Asset Tag: AssetTagNum0 Part Number: PartNum0 Handle 0x0044, DMI type 17, 27 bytes Memory Device Array Handle: 0x0040 Error Information Handle: Not Provided Total Width: 64 bits Data Width: 64 bits Size: 2048 MB Form Factor: DIMM Set: None Locator: DIMM1 Bank Locator: BANK1 Type: SDRAM Type Detail: Synchronous Speed: 800 MHz (1.2 ns) Manufacturer: Manufacturer1 Serial Number: SerNum1 Asset Tag: AssetTagNum1 Part Number: PartNum1 Handle 0x0046, DMI type 17, 27 bytes Memory Device Array Handle: 0x0040 Error Information Handle: Not Provided Total Width: 64 bits Data Width: 64 bits Size: 2048 MB Form Factor: DIMM Set: None Locator: DIMM2 Bank Locator: BANK2 Type: SDRAM Type Detail: Synchronous Speed: 800 MHz (1.2 ns) Manufacturer: Manufacturer2 Serial Number: SerNum2 Asset Tag: AssetTagNum2 Part Number: PartNum2 Handle 0x0048, DMI type 17, 27 bytes Memory Device Array Handle: 0x0040 Error Information Handle: Not Provided Total Width: 64 bits Data Width: 64 bits Size: 2048 MB Form Factor: DIMM Set: None Locator: DIMM3 Bank Locator: BANK3 Type: SDRAM Type Detail: Synchronous Speed: 800 MHz (1.2 ns) Manufacturer: Manufacturer3 Serial Number: SerNum3 Asset Tag: AssetTagNum3 Part Number: PartNum3 |
Eventuell würde ich mal nachschauen, ob der Chipsatz mit >7 GB RAM umgehen kann, in meinem Laptop der Chip kann z.B. nur mit 3 GB umgehen, eingebaut sind aber 4, d.h. ich kann nur 3 nutzen
Vielleicht hast du genau das gleiche Problem.
mfg pyjo
PS: Ein lspci für uns könnte helfen, dir zu helfen.
Quellcode |
|
1 2 |
$ cat /proc/meminfo MemTotal: 3989308 kB |
Quellcode |
|
1 2 3 |
PS: $ zcat /proc/config.gz | grep IOMMU CONFIG_GART_IOMMU=y |
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »schade« (20.10.2008, 20:49)
falls es dich beruhigt :
ich habe 4x 1GB ddr2 ram von Samsung eingebaut und bei htop wird mir 3895MB als verfügabar angezeigt
Quellcode
1 2 $ cat /proc/meminfo MemTotal: 3989308 kB
dmidecode erkennt auch bei mir jeden einzelnen Riegel richtig.
Ich habe auch ein amd64 system.
Edit:
Hier habe ich noch weitere Informationen zu diesem Thema gefunden.
Quellcode
1 2 3 PS: $ zcat /proc/config.gz | grep IOMMU CONFIG_GART_IOMMU=y