Ich verwende Ubuntu Linux 64 Bit. Vor kurzem habe ich Ubuntu 32 Bit verwendet und durch den Befehl herausgefunden, grep --color=always -iw lm /proc/cpuinfo
dass mein Prozessor 64 Bit unterstützt. Die Ausgabe des Befehls lautet:
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc up pebs bts nopl pni dtes64 monitor ds_cpl tm2 cid cx16 xtpr
Nach dem Löschen der Festplatte und der Installation von Ubuntu 11.10 64 Bit erkennt das System jedoch immer noch nur 3,1 GB RAM. Ich habe im BIOS überprüft, dass ich 4 Gigabyte RAM installiert habe, nicht 3,1. Warum erkennt Ubuntu 64 Bit nur 3,1 GB RAM?
Ausgabe vonuname -a
aaron@Aarons-Ubuntu-Computer:~$ uname -a
Linux Aarons-Ubuntu-Computer 3.0.0-12-generic #20-Ubuntu SMP Fri Oct 7 14:56:25 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
Ausgabe vonfree -m
aaron@Aarons-Ubuntu-Computer:~$ free -m
total used free shared buffers cached
Mem: 3136 2960 175 0 233 1996
-/+ buffers/cache: 730 2405
Swap: 3189 0 3189
Antwort1
Etwa 80 % der heute verwendeten CPUs (und fast jede neu verkaufte CPU) unterstützen 64-Bit-Ubuntu, daher ist das keine Überraschung. Es gibt Pläne, 64-Bit-Ubuntu als Standard vorzuschlagen (so wie jetzt 32-Bit vorgeschlagen wird), da die Hardware der meisten Leute dazu in der Lage ist.
Um dennoch den gesamten Speicher aus Sicht des Kernels sowie einen Bericht über die anfängliche Zuweisung anzuzeigen, können Sie Folgendes tun:
dmesg |grep "Memory: "
Dadurch wird eine Zeile wie diese angezeigt:
[ 0.000000] Memory: 3823988k/4849664k available (6109k kernel code, 874468k absent, 151208k reserved, 4876k data, 984k init)
In meinem System sind 4 GB RAM installiert, die Gesamtmenge beträgt jedoch nur etwa 4,7 GB (ich vermute, das BIOS meldet mehr Speicher aufgrund des Adressraums für die Grafikkarten, PCI- und IO-Geräte und andere). Aus diesen Gründen stehen Anwendungen letztendlich nur 3,6 GB zur Verfügung.
Beachten Sie die „fehlende“ Speichermenge. Diese „spiegelt den Speicheradressierungsraum wider, der aufgrund von Speicherlücken in der Speicherzuordnung verloren geht. Normalerweise bleiben Lücken für PCI-Speicherplatz, IO usw. übrig. Jedes Systemmodell eines Anbieters ist anders, und für jedes System wird ein anderer Wert für den fehlenden Speicher gemeldet.“
Sehen Sie sich auch die von fossfreedom gestellte Frage an. Sie enthält weitere Erläuterungen dazu, wo Adressraum verwendet werden könnte.