Какой максимальный объем оперативной памяти я могу использовать на конкретном оборудовании

У меня есть ноутбук Asus U31SD с процессором i5-2430M . На сайте Asus говорится, что максимальный объем оперативной памяти составляет 8 ГБ, но Intel утверждает, что мой процессор поддерживает 16 ГБ. Какой максимальный объем оперативной памяти я могу использовать в этой системе под Ubuntu?

25
задан 8 January 2013 в 05:39

6 ответов

Для 32 бит теоретический предел составляет 2 ^ 32 = 4096 МБ, но из Ubuntu 12.04 для PAE (расширение физического адреса) включен по умолчанию с пределом 2 ^ 36 = 64 ГБ.

Для 64 бит это должно быть 2 ^ 64 = 16 777 216 ТБ (да, это терабайт) теоретически. На самом деле объем оперативной памяти ограничен 2 ^ 48 или 256 ТБ оперативной памяти.

Поскольку теоретические ограничения не могут быть достигнуты на обычном ноутбуке, фактическим ограничением является количество слотов памяти (обычно 1-2) в вашем ноутбуке и поддержка чипсета. 8-16 ГБ вполне реально, если вы готовы платить серьезные деньги за модули 8 ГБ.

0
ответ дан 8 January 2013 в 05:39

Я только что купил дополнительные 8 ГБ для вставки в свой U31SD, всего на 12 ГБ. Несмотря на то, что на странице спецификаций Asus говорится, что 8 ГБ - это предел, все работает отлично Прошел memtest86 и виден для 64-битной Ubuntu.

У меня установлено последнее обновление BIOS, но я не уверен, что это что-то меняет.

К вашему сведению, выходной сигнал sudo dmidecode -t 16 обозначает Maximum Capacity: 16 GB.

0
ответ дан 8 January 2013 в 05:39

Предел на самом деле между Вашими аппаратными средствами (Поддержка памяти материнской платы и суммой слотов в нем) и версия Ubuntu (32 бита, 32 бита + PAE, x32ABI, 64 бита)

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

Но если Вы покупаете материнскую плату, которая поддерживает более высокий объем памяти, можно играть вокруг с версиями Ubuntu, которые имеют следующую максимальную поддерживаемую память:

RAM Ubuntu 32 битов - 4 ГБ

Ubuntu 32 бита + PAE (расширение физического адреса) - 64 ГБ RAM

RAM Ubuntu x32ABI - 4GB (Это для архитектуры на 32 бита, измененной с улучшениями на 64 бита, работающими на аппаратных средствах на 64 бита. Это еще не доступно.)

Ubuntu 64 бита - МНОГО! (На самом деле 2^64), но из-за аппаратных пределов и компьютеров реального мира предел составляет приблизительно 1 ТБ (1024 ГБ RAM)

Таким образом, вопрос о пределе памяти должен использоваться при использовании больше чем 4 ГБ RAM. В этом случае Вам было бы нужно, или PAE на 32 бита или 64 BIT, которые поддерживают действительно большие емкости памяти.

Также обратите внимание, если у Вас есть, например, 4 ГБ прямо сейчас, и покупку 16 ГБ поршня нет никакой потребности переустановить Ubuntu или сделать любые изменения. Просто измените памяти, и Ubuntu должна читать и работать с ними из поля. Никакая необходимая конфигурация. Если у Вас будет 32 бита с 4 ГБ RAM, и Вы устанавливаете 16 ГБ или RAM, то Ubuntu автоматически изменится с 32 битов до PAE на 32 бита. Я могу ручаться за это, так как я переместился от 4 ГБ до 16 ГБ в начало этого года.

Вот ссылка на очень хорошее объяснение Ubuntu о памяти в 32/64: https://help.ubuntu.com/community/32bit_and_64bit#Memory

ОБНОВЛЕНИЕ - Забыло добавлять, что некоторые материнские платы имеют обновления BIOS, которые включают, исправляют или улучшают максимальную поддерживаемую память. Например, некоторые материнские платы Intel в прошлом имели проблемы при работе с максимумом, который они поддерживали. Обновление BIOS зафиксировало это. Другие материнские платы имели поддержку 4 ГБ из-за проблемы с BIOS после обновления, у них была поддержка больше чем 4 ГБ.

Также сравнивая Максимальную поддерживаемую память для ЦП и Материнской платы, Максимум, который Вы можете иметь, является Минимумом любого из них. Так, например:

СЛУЧАЙ 1
ЦП максимальная поддерживаемая память - 16 ГБ
Материнская плата максимальная поддерживаемая память - 8 ГБ
Ваша Максимальная Поддерживаемая Память - 8 ГБ (Поскольку самое низкое значение между ЦП и Материнской платой),

СЛУЧАЙ 2
ЦП максимальная поддерживаемая память - 16 ГБ
Материнская плата максимальная поддерживаемая память - 32 ГБ
Ваша Максимальная Поддерживаемая Память - 16 ГБ (Поскольку самое низкое значение между ЦП и Материнской платой),

СЛУЧАЙ 3
ЦП максимальная поддерживаемая память - 16 ГБ
Материнская плата максимальная поддерживаемая память - 64 ГБ
Ваша Максимальная Поддерживаемая Память - 16 ГБ (Поскольку самое низкое значение между ЦП и Материнской платой),

Причина позади этого Предельного отношения Памяти к ЦП из-за технических модификаций Intel с последними Базовыми центральными процессорами.

Таким образом в Вашем случае, у Вас есть материнская плата, которая поддерживает 8 ГБ и ЦП, который поддерживает 16 ГБ. Это означает максимум, который Вы можете иметь, 8 ГБ, которых можно использовать в зависимости от суммы слотов в материнской плате. В том, что Asus у Вас есть 2 Слота, что означает, у Вас может быть два 4 ГБ RAM для завершения Максимума 8 ГБ.

Больше Информации о x32abi:

KernelNewbies - http://kernelnewbies.org/Linux_3.4#head-039c9d273884c9639937c10d68b4a3214869eb4b

LWN - https://lwn.net/Articles/456731/(Рекомендуют читать комментарии для легкого для приобретения знаний объяснений о пределе памяти),

Google - http://sites.google.com/site/x32abi/

Наконец, начиная с Ubuntu 12.04, все версии на 32 бита Ubuntu идут с PAE, активированной по умолчанию, таким образом, все 32 бита будут поддерживать максимум 64 ГБ RAM. В случае, если Вы используете 12.04 + и хотите знать, какая архитектура использовать, Вы теперь знаете, что можно использовать любого из них, пока Вы следуете некоторым рекомендациям:

  • Если у Вас есть 512 МБ RAM, или меньше она настоятельно рекомендована для использования 32 битов

  • Если у Вас есть меньше чем 4 ГБ RAM, но больше чем 512 МБ, рекомендуется использовать 32 бита (Но можно все еще использовать 64 бита),

  • Если у Вас есть 4 ГБ RAM, рекомендуется использовать 32 бита (Но можно все еще использовать 64 бита),

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

  • Если у Вас есть больше чем 64 ГБ RAM, необходимо использовать 64 бита

29
ответ дан 8 January 2013 в 05:39

В вашем конкретном случае 8 ГБ связано с тем, что ваша материнская плата не поддерживает больше, чем объем ОЗУ.

Но Ubuntu сама поддерживает 4 ГБ макс для 32-битных, 64 ГБ на 32-битных PAE и 128 ГБ на 64-битных (хотя теоретически ограничение для 64-битных гораздо выше). [ 112]

0
ответ дан 8 January 2013 в 05:39

Это ограничение на материнской плате, а не на процессоре. Процессор может поддерживать до 16 ГБ, но если материнская плата может занимать только 8 ГБ, это ваш предел.

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

Но вы всегда будете ограничены вашим оборудованием. Вы всегда должны сравнивать ограничение материнской платы и ограничение ЦП и принимать наименьшее значение в качестве ограничения ПК.

0
ответ дан 8 January 2013 в 05:39

было много вопросов, которые определяют размер указателя. в основном, как правило, вы можете сказать, что это архитектура процессора,

x86 -> 4 bytes pointer -> can address 4,294,967,296 locations = 4GB (it is the limit)

x64 -> 8 bytes pointer -> can address 1.84467440737e+19 locations (it is the limit, big, eh)

Для адресации 8 ГБ ОЗУ необходимо 8 589 934 592 отображения, а указатель размером 4 байта не может адресовать все возможные значения. вот почему я не могу иметь больше 4 ГБ ОЗУ на архитектуре x86.

Есть и другие возможности:

Объем ОЗУ не ограничен архитектурой (32 или 64 бит). Архитектура определяет только то, какой объем памяти может быть адресован одновременно ОС и выполняемыми на ней программами. На 32-разрядном компьютере, то есть на компьютере с 32-разрядной шиной памяти, ОС и программы могут «видеть» только 4 ГБ памяти. Но это не значит, что оперативной памяти всего 4 ГБ. Если производитель предоставил это, у вас может быть 16 ГБ или 4x4 ГБ оперативной памяти. В этом случае будет еще 2 «скрытых» адресных строки, а также будет жестко заданная логика для определения уровней этих 2 строк, таким образом, выбрав любую из доступных 4 ГБ ОЗУ - 00 01 10 11. Эти «скрытые» биты адреса не используются программными уровнями, поэтому для этих уровней они могут использовать только 4-байтовый указатель. Количество этих «скрытых» адресных строк зависит от того, насколько вы можете увеличить объем оперативной памяти.

Это только один пример. От поставщика зависит, как они решат предоставить дополнительную оперативную память.

см. также:

В обычном случае указатель достаточно велик, чтобы вместить больше адресов, чем имеется единиц памяти в системе. Это открывает возможность того, что программа может пытаться получить доступ к адресу, который не соответствует ни одной единице памяти, либо потому, что установлено недостаточно памяти (т.е. за пределами диапазона доступной памяти), либо архитектура не поддерживает такие адреса. Первый случай в некоторых платформах, таких как архитектура Intel x86, можно назвать ошибкой сегментации (segfault). Второй случай возможен в текущей реализации AMD64, где указатели имеют длину 64 бита, а адреса расширяются только до 48 бит. Там указатели должны соответствовать определенным правилам (каноническим адресам), поэтому, если неканонический указатель разыменовывается, процессор вызывает общую ошибку защиты.

С другой стороны, некоторые системы имеют больше единиц памяти, чем адресов. В этом случае более сложная схема, такая как сегментация памяти или разбиение по страницам, используется для использования разных частей памяти в разное время. Последние воплощения архитектуры x86 поддерживают до 36 битов адресов физической памяти, которые были сопоставлены с 32-битным линейным адресным пространством посредством механизма пейджинга PAE. Таким образом, только 1/16 возможного общего объема памяти могут быть доступны одновременно. Другим примером в том же семействе компьютеров был 16-разрядный защищенный режим процессора 80286, который, хотя и поддерживал только 16 МБ физической памяти, мог получить доступ к 1 ГБ виртуальной памяти, но сочетал 16-разрядный адрес и сегмент регистры делали доступ к более чем 64 КиБ в одной структуре данных громоздким. Некоторые ограничения в арифметике указателей ANSI, возможно, были вызваны сегментированными моделями памяти этого семейства процессоров. [Цитата нужна]

Для обеспечения согласованного интерфейса некоторые архитектуры предоставляют ввод-вывод с отображением в память, что позволяет некоторые адреса относятся к единицам памяти, а другие - к регистрам устройств других устройств в компьютере. Существуют аналогичные понятия, такие как смещения файлов, индексы массивов и ссылки на удаленные объекты, которые служат тем же целям, что и адреса для других типов объектов.

(подробнее здесь )

0
ответ дан 8 January 2013 в 05:39

Другие вопросы по тегам:

Похожие вопросы: