Почему Ubuntu показывает только 3 ГБ оперативной памяти?

27

У меня ноутбук Asus G50vt-x5 с 4 ГБ оперативной памяти. Но Ubuntu 10.10 показывает только 3 ГБ оперативной памяти. Почему он показывает только 3 ГБ ОЗУ вместо полных 4 ГБ? Вывод freeкоманды:

neal@ubuntu:~$ free
             total       used       free     shared    buffers     cached
Mem:       3095668    2972784     122884          0     747996    1590044
-/+ buffers/cache:     634744    2460924
Swap:            0          0          0
туманность
источник
Просто для любопытных среди нас, вы можете опубликовать вывод freeкоманды?
устроить
см. также этот ответ
Таккат

Ответы:

30

Если вы установили 32-разрядную версию Ubuntu, она не распознает более 4 ГБ памяти. Вам нужно будет установить 64-битную версию Ubuntu, чтобы система распознала более 4 ГБ памяти.

Смотрите также:


Обратите внимание, что теперь стандарт заключается в том, что образы Ubuntu собираются и поставляются с ядром с поддержкой PAE, что позволяет использовать более 4 ГБ ОЗУ в 32-разрядных системах. Однако это требует использования в вашей системе процессора с поддержкой PAE. Если ваша система достаточно старая, ядра PAE не будут работать, и вышеупомянутое ограничение в 4 ГБ памяти останется в силе.

Томас Уорд
источник
30
Или 32-битная PAE-версия ядра.
устроить
2
@aneal: В этой ситуации Ubuntu не будет использовать объем памяти более 3 ГБ. Я добавил причину в свой ответ. Поэтому вы должны установить 64-битную версию или PAE.
Педрам
2
@EvilPhoenix: Это не совсем верно, если они загрузят 64-битный livecd и установят Ubuntu вручную (иначе debootstrap/cdebootstrap), их настройки / файлы останутся без изменений, за исключением, конечно /etc.
OneOfOne
2
Ограничение 32-битного ядра без
pae составляет 4 ГБ
2
@psusi - максимум 3,6 ГБ памяти не-PAE-ядер, а также Томаса, примите во внимание, что Ubuntu теперь собирает Pae-ядра для всего, в недавних выпусках нет ядра без PAE.
Брайам
40

Вы можете установить 64-битную версию, но если вы не хотите этого делать, вы можете установить ядро ​​с поддержкой PAE (расширение физического адреса) на 32-битную версию.

После 10.04 Ubuntu автоматически устанавливает ядро ​​с поддержкой PAE, если обнаруживает более 3 ГБ памяти. Но вики Ubuntu говорит:

В случае liveCD требуется работающее сетевое соединение, поскольку пакеты с поддержкой PAE отсутствуют на компакт-диске.

Итак, я думаю, что вы установили Ubuntu, используя CD без подключения к интернету.

Попробуй это:

sudo apt-get установить linux-generic-pae linux-headers-generic-pae


Что такое ПАЭ?

Расширение физических адресов - это технология, которая позволяет 32-разрядным операционным системам использовать до 64 ГБ памяти (ОЗУ), что обычно достигается путем переключения на 64-разрядную систему. Сегодня PAE поддерживается на большинстве компьютеров, и его легко включить в Ubuntu, если это еще не сделано. Чтобы проверить, поддерживает ли ваш процессор PAE, попробуйте

grep --color=always -i PAE /proc/cpuinfo

В общем, рекомендуется использовать правильную 64-битную систему, если у вас 4 ГБ или больше памяти и / или вы хотите получить все преимущества 64-битной архитектуры (см. 32bit_and_64bit), но в некоторых случаях полное переключение на 64-битную не является желательно, и использование PAE может быть жизнеспособным компромиссом.

Следует отметить, что расширение виртуального адреса отсутствует. т.е. приложения все еще получают тот же объем виртуальной памяти, поскольку виртуальные адреса по-прежнему 32-разрядные, а физические адреса - 36-разрядные. Поэтому PAE совсем не эквивалентно 64-битной системе.

Pedram
источник
Какие-нибудь накладные расходы на производительность?
Ashfame
а разве 64-битные системы не только для процессоров AMD?
Старкс
1
@Pedram спасибо большое! Это должен быть правильный ответ, поскольку он предоставляет еще одну возможность обойти ограничение без переустановки системы. Я установил эти пакеты ядра Linux и после перезагрузки у меня есть 4 ГБ ОЗУ. Большое спасибо.
Алехандро Гарсия Иглесиас
Обратите внимание, что в наши дни Ubuntu покончила с 32-битным ядром без PAE.
psusi
2

Откройте / var / log / dmesg / dmesg и найдите раздел в начале, который выглядит следующим образом:

[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  BIOS-e820: 0000000000000000 - 000000000009d800 (usable)
[    0.000000]  BIOS-e820: 000000000009d800 - 00000000000a0000 (reserved)
[    0.000000]  BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)

Разместите этот раздел для детального анализа. Также ищите еще одну строчку чуть ниже, вот так:

[    0.000000] Memory: 4019820k/4972544k available (5694k kernel code, 798616k absent, 154108k reserved, 2514k data, 944k init)

Часто бывают такие вещи, как видеопамять, занимающая место в области 3-4 ГБ. На некоторых системах эта память просто теряется. В других случаях его можно переназначить, часто выше отметки 4 ГБ, к которому вам нужно либо ядро ​​pae, либо 64-битное ядро ​​для доступа.

psusi
источник
2
Просто хотел прокомментировать, что у меня есть плата Asus, которая потеряла 1 ГБ памяти даже после установки 64-битной. Мне пришлось включить переназначение в биосе, как упоминалось в этом ответе.
user1974
1

У вас есть три решения, два из которых уже были предложены:

  • установить 64-битное ядро ​​на вашу установку i386; на Debian это только вопрос установки kernel-image-2.6-amd64-k8иamd64-libs
  • установить 32-битное ядро ​​с активированной PAE
  • переустановить полную 64-битную систему
Сэм Хоцевар
источник
а разве 64-битные системы не только для процессоров AMD?
Старкс
Нет, Intel приняла набор команд amd64, когда ее серия Itanium потерпела неудачу, и она стала стандартом де-факто.
Сэм Хочевар
Я получил Intel Core I 7 720 QM. Будет ли он работать там?
Starx
Да. См. Список совместимых процессоров Intel здесь: en.wikipedia.org/wiki/X86-64#Intel_64_implementations
Сэм Хочевар,
0

Запишите memtest («Test memory») из меню загрузки (или с установочного носителя), если на первом экране отображается меньше 4 ГБ, обновите (Flash * ROM) BIOS.

Запустите sudo lshw, чтобы определить модель вашей материнской платы, затем перейдите на сайт производителя и загрузите последнюю версию BIOS.

yPhil
источник
0

Я знаю, что это слишком локализовано, но выделенный вопрос был помечен как дублированный и теперь перенаправляет на этот.

Для пользователей Dell XPS 13 L321X существует обновление BIOS, которое представило эту проблему / функцию. Поэтому, если вы хотите получить 4G RAM, вам нужно перейти на A04 BIOS . В сообществе Dell упоминаются две темы:

  1. Dell XPS 13 3,3 ГБ Доступная память из 4 ГБ
  2. Ультрабук XPS 13 - 690 МБ аппаратного зарезервированного ОЗУ
Андре Мирас
источник