Ubuntu 14.04 RAM не используется - проблема с неправильным размещением
У меня странная ситуация, когда мой сервер Ubuntu (14.04) не распознает всю память, установленную на моем сервере. У меня есть сервер HP Proliant DL 380 G3 (32 бита) с 10 ГБ памяти. Я не мог использовать память более 3 ГБ. У меня установлена версия Ubuntu 14.04.2 32 Bit с ядром 3.13.0-46-generiC#79-Ubuntu SMP.
cat /proc/meminfo
MemTotal: 10108436 kB
MemFree: 9036220 kB
cat /boot/config-3.13.0-46-generic |grep PAE
CONFIG_X86_PAE=y
Я старался memtester
и также программа на python для проверки памяти, и я получил результат-
sudo memtester 4G 1
pagesize is 4096
pagesizemask is 0xfffff000
bytes 0 < pagesize 4096 -- memory argument too large?
Что я делаю неправильно?
2 ответа
Ваши 10 ГБ памяти распознаются просто отлично. Но у вас есть 32-битная ОС. Это означает, что каждый пользовательский процесс (например, memtester
) видит только 32-битное адресное пространство; по сути, ни один процесс не может получить доступ к более чем 4 ГБ памяти (и часто меньше).
У вас включен PAE. Это означает, что разные части вашей 10 ГБ памяти могут быть выделены для разных процессов, так что вы можете фактически использовать все это - но не все одним и тем же процессом.
Если важно, чтобы одна программа могла использовать более 4 ГБ, вам необходимо установить 64-разрядную версию Ubuntu.
32-разрядная операционная система, если она не имеет полной поддержки PAE
(Расширение физического адреса) не может выделять более 4 ГБ ОЗУ, включая VRAM и другие мелочи, связанные с конкретной конфигурацией материнской платы и устройств ввода / вывода: Википедия: 3 ГБ Барьер.
Ubuntu
имеет поддержку PAE
самостоятельно, поэтому попробуйте переустановить снова принудительно PAE
в опциях установки, как описано здесь: Ubuntu.com: PAE