Я использую Ubuntu Linux 64 бит. Недавно я использовал 32-битный Ubuntu и обнаружил с помощью команды grep --color=always -iw lm /proc/cpuinfo
, что мой процессор способен к 64-разрядному. Выходной сигнал команды:
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
Однако после очистки диска и установки Ubuntu 11.10 64 бит система все еще обнаруживает только 3,1 ГБ ОЗУ. Я проверил в BIOS, что у меня установлено 4 гигабайта ОЗУ, а не 3.1. Почему бит Ubuntu 64 обнаруживает только 3,1 ГБ ОЗУ?
Выход uname -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
Выход free -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
Около 80% используемых в настоящее время процессоров (и почти каждый проданный новый процессор) поддерживают 64-битный Ubuntu, поэтому это не сюрприз. Планируется предлагать 64-битный Ubuntu по умолчанию (способ 32-бит предлагается сейчас), поскольку аппаратное обеспечение большинства людей способно его запускать.
Тем не менее, чтобы увидеть общую память, как видно из ядро, а также отчет о том, как он изначально был выделен, вы можете сделать это:
dmesg |grep "Memory: "
Это покажет строку, такую как эта:
[ 0.000000] Memory: 3823988k/4849664k available (6109k kernel code, 874468k absent, 151208k reserved, 4876k data, 984k init)
Моя система имеет 4 ГБ оперативной памяти, однако общая сумма данных примерно равна 4,7 ГБ (я предполагаю, что BIOS сообщает больше памяти из-за адресного пространства для видеокарт, устройств PCI и IO и других). В конце этого из-за этих проблем доступны только 3,6 ГБ.
Обратите внимание на «отсутствующую» объем памяти, это «отражает пространство памяти, потерянное из-за отверстий памяти на карте памяти. слева для PCI-пространства, IO и т. д. Каждая модельная система каждого производителя отличается, и каждая система будет иметь другое значение, сообщаемое для отсутствующей памяти. »
Также посмотрите на вопрос, на который указывает fossfreedom, it дает вам более подробное объяснение того, где может использоваться адресное пространство.