64-битная ОС и ОЗУ

12

Сколько оперативной памяти может использовать 64-разрядная операционная система Windows 8 Ultimate?

Я прочитал на веб-сайте Microsoft, что можно разместить до 512 гигабайт (ГБ), но, насколько я понимаю, 64-битная версия подразумевает максимальное использование 16 гигабайт оперативной памяти для любой исполняемой программы.

Другими словами: может ли Windows 8 использовать все 512 ГБ ОЗУ?

Амит Шах
источник
Теоретически 256 терабайт физической памяти. [Ответ суперпользователя] [1] [1]: superuser.com/questions/168114/…
CodeMonkey
Существует разница между объемом ОЗУ, который может распознать ОС, и максимальным размером «чанков», которые она может выделить для реальных программ. 64-разрядная версия позволяет использовать большие блоки, что в основном соответствует большей полосе пропускания (что означает лучшую производительность, несмотря на большие размеры файлов).
MetaGuru
2
@op: я не уверен, откуда вы взяли цифру в 16 гигабайт. 2 ^ 64 намного больше. --- Для простого сравнения: 32-битные позволяют до 4 ГБ, 33-битные до 2 * 4 ГБ (8 ГБ), 34-битные (34, а не 64) до 64 ГБ, ... и т. Д. И т. Д.
Hennes
1
Я хотел бы отметить, что МОСТ, который вы можете использовать с материнской платой для настольных ПК, составляет 32 или 64 ГБ. Ваша материнская плата / процессор, скорее всего, станет узким местом. Я думаю, что ограничение процесса на оперативную память является более интересной частью этого вопроса, и, вероятно, главная причина, по которой его следует оставить открытым
Journeyman Geek
@JourneymanGeek нет ограничений для каждого процесса на RAM. Ограничение в 8 ТБ - это ограничение размера виртуальной памяти. Весь этот вопрос и его ответы показывают неправильное понимание бинарной арифметики и разницу между физической и виртуальной памятью.
Дэвид Маршалл

Ответы:

9

Теоретическое 64-разрядное адресное пространство составляет 2 ^ 64 или 16 эксабайт (18 446 744 073 709 551 616 байт).

Microsoft ограничивает максимальную физическую память 512 ГБ для Windows 8 Pro и Enterprise. ( ссылка )

Это в основном по коммерческим причинам, хотя я слышал, что Microsoft будет разрешать только объем памяти, для которого существует оборудование, которое они могут протестировать.

Что касается виртуального адресного пространства режима пользователя для каждого процесса, то оно было ограничено 8192 ГБ до WIndows 8.1. Windows 8.1 увеличила это до 128 ТБ. ( ссылка ) (ссылка)

Способ размещения виртуального адресного пространства является результатом того, что современные процессоры реализуют только 256 ТБ виртуальной памяти.

Дэвид Маршалл
источник
6

Несмотря на то, что теоретически он может адресовать гораздо больше ОЗУ, Microsoft ограничивает возможный объем ОЗУ для Windows 8 до 512 ГБ в версиях Pro и Enterprise и еще меньше в других.

Windows Server 2012 требуется для получения нескольких терабайт памяти , что все еще ниже предела соответствующего оборудования.

Вероятно, можно предположить нетехническую причину, то есть они хотят, чтобы вы купили реальную серверную ОС для серверных (или связанных с ними) задач.


Обратите внимание, что у процессоров есть свой предел для адресной памяти. Например, Intel устанавливает ограничение в 750 ГБ для текущих процессоров Xeon E5-2600 (предназначенных для плат с двумя сокетами). Чтобы получить более 1 ТБ, вам нужны (более дорогие) платы, рассчитанные на 4+ процессорные платы.

Даниэль Бек
источник
1

Ну, ваши источники правы, даже если они не Microsoft . Ядро NT будет отображать это в разные адресные области, но даже современные процессоры реализуют только 48/52 бит, что ограничивает количество чем-то ниже теоретического максимума 64-битной архитектуры.

Кроме того, не путайте идею виртуальной памяти, которую программа может использовать с физической оперативной памятью, к которой операционная система может обращаться через ЦП. Возможно, вы захотите ознакомиться с такими понятиями, как Nonpaged и Paged Pool в «Internals» Руссиновича, а также с тем, как Paged Pool фактически используется для представления пространства процессов для процессов пользовательского режима.

0xC0000022L
источник
0

Теоретически 16,8 миллиона терабайт. На практике корпус вашего компьютера слишком мал, чтобы вместить всю эту оперативную память.

http://en.wikipedia.org/wiki/64-bit#Limitations_of_practical_processors

Ответ взят из: Какое максимальное количество оперативной памяти теоретически может адресовать 64-битная машина?

Уэсли М.
источник
1
Верно для теоретического ответа. Неправильно для победы 8, которая имеет установленные человеком пределы.
Хенн
2
Я думаю, что вы имеете в виду эксабайт.
Дэвид Маршалл
0

В 64-битной ОС ваша системная плата будет ограничивать количество используемой памяти, а не ОС. Вы увеличите свой аппаратный лимит задолго до того, как сможете максимально использовать Windows.

BroScience
источник
Это серверная плата. Думаю, следовало бы быть более конкретным. Я предполагаю, что он говорил о настольном ПК, так как он спросил о Win8, а не о сервере 2012.
BroScience
1
Я ничего не вижу, чтобы он где-нибудь использовал серверную плату? Я не думаю, что вы заслуживаете -1, даже верхние потребительские платы x79 достигают 64 ГБ. Ваш ответ правильный, насколько я понимаю ...
Supercereal
Кайл, кто-то прокомментировал мой пост и привел пример платы, которая может занять 512 ГБ ОЗУ, но затем они удалили свой пост, так что теперь я выгляжу сумасшедшим. LOL
BroScience