Ubuntu обнаруживает только 3,1 ГБ оперативной памяти на Ubuntu 64 бит

Ubuntu обнаруживает только 3,1 ГБ оперативной памяти на Ubuntu 64 бит

Я использую Ubuntu Linux 64 бит. Недавно я использовал Ubuntu 32 бит и обнаружил с помощью команды, 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

решение1

Около 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, ввода-вывода и т. д. Каждая модель системы поставщика отличается, и каждая система будет иметь разное значение, сообщаемое для отсутствующей памяти».

Также посмотрите на вопрос, на который указал fossfreedom, он дает вам более подробное объяснение того, где может использоваться адресное пространство.

Связанный контент