Почему Windows показывает только около 3,5 ГБ из 4 ГБ ОЗУ?

30687
ala

Я недавно обновил ОЗУ моего компьютера до 4 ГБ. Моя 32-битная установка Windows показывает только 3574 МБ памяти. Как я могу заставить Windows использовать полный объем оперативной памяти?

88
На этот вопрос ответили только сегодня утром в http://superuser.com/questions/27006/how-to-check-ram-size-without-looking-at-motherboard/27013#27013 Tom 14 лет назад 1
This needs to be upped by like 2000 votes cause it seems like everyday that I run into yet another person that asks "where is my memory?" Microsoft should just take that out of the dialog box . . . surfasb 12 лет назад 3
Чувак, тебе нужна 64-битная ОС. Серьезно, начните экономить свои деньги сейчас. Тогда этот вопрос станет спорным вопросом, когда у вас будет система, которая фактически будет поддерживать всю память, которую вы можете разместить на материнской плате. Fiasco Labs 11 лет назад 2
Обращайте внимание на системный блок на предмет влаги или сырости. Это может быть «утечка памяти». EleventhDoctor 10 лет назад 1
@ala: Из-за разделения памяти ядра ... (1Gb выделяется ядром). Кажется, вы уже используете ключ / 3gb ... user2284570 10 лет назад 0
возможный дубликат [8 ГБ ОЗУ в XP Professional] (http://superuser.com/questions/72655/8gb-ram-on-xp-professional) user2284570 10 лет назад 0
@ user2284570: Извините, что исправляю вас, но это не имеет ничего общего с «разделением памяти ядра», ключом / 3GB (это действительно EXTENDUSERVA в Vista и более поздних версиях) и т. д. Все это касается * virtual * адресное пространство, а не оперативная память. Проблема ОП касается оперативной памяти, а не виртуального адресного пространства. Jamie Hanrahan 9 лет назад 0

9 ответов на вопрос

70
VonC

Вы не можете:

Видишь, чувак, где мои 4 гигабайта оперативной памяти?

если вы хотите поместить память и устройства в 32-разрядный диапазон адресов: не все доступные 4 ГБ адресного пространства могут быть переданы в память.
Так что же на самом деле произойдет, если вы выйдете и купите 4 ГБ памяти для своего ПК?
В карте памяти есть дыра для ввода / вывода. (Сейчас это только 25% от общего адресного пространства, но это все еще большая дыра.) Таким образом, будут доступны 3 ГБ вашей нижней памяти, но есть проблема с последними 1 ГБ.

Единственное практическое решение - установить 64-битную операционную систему. В Windows Vista и более поздних версиях 32-разрядные и 64-разрядные лицензионные ключи являются взаимозаменяемыми. Если вы можете получить установочный носитель Windows для 64-разрядной версии операционной системы, вы можете переустановить его, используя свой оригинальный лицензионный ключ.

Я не понимаю - не 2 ^ 32 4 гигабайта? Matt 14 лет назад 0
Ааа, неважно, на самом деле читать связанную статью Matt 14 лет назад 5
приятно знать это LiuYan 刘研 12 лет назад 0
@VonC: Как насчет [этого] (http://iknowu.dnsalias.com/files/public/Windows_XP_SP3_Remove_PAE_Limit/Windows_XP_Remove_PAE_Limit.htm «Windows XP SP3 - удалите физический адрес / ОЗУ 4 ГБ и используйте до 64 ГБ ОЗУ с помощью PAE» )? user2284570 10 лет назад 0
@ user2284570 правда, PAE может помочь, но кто еще на WXp? ;) VonC 10 лет назад 0
@VonC: Я ... Я использую специальное [программное обеспечение] (http://lbw.sourceforge.net/ "LBW") для запуска некоторых 32-битных бинарных файлов Linux без какой-либо виртуализации ... Для этого требуется 32-битная XP и [SFU 3.5] (https://fr.wikipedia.org/wiki/Services_for_UNIX "Службы Windows для Unix") user2284570 10 лет назад 0
@ user2284570 Я понимаю. Я тоже его использую, но в VHD (http://blog.zeltser.com/post/67023415049/how-to-get-a-windows-xp-mode-virtual-machine-on-windows) VonC 10 лет назад 0
@VonC: Существует также тот факт, что некоторые DOS-программы, такие как GEM, должны переключаться в полноэкранный режим ... При использовании NT> = 6 происходит сбой DOS-программы ... (примечание: я все еще использую Windows98 для некоторых игр, требующих прямого доступ к программному обеспечению ... (выбор DOS вместо DirectX программистами)). А Windows 98 - это сама виртуальная машина, поэтому она не может работать с адресацией VM86 ... user2284570 10 лет назад 0
8
SgtOJ

Во-первых, Windows XP (32-разрядная версия) поддерживает только 4 ГБ. Это относится не только к Windows XP. Вместо этого он применяется к 32-разрядным настольным системам Windows - 32-разрядным системам Linux с PAE, и многие 32-разрядные выпуски Windows Server поддерживают более 4 ГБ на связанную статью. Вы никогда не увидите более 4 ГБ, если используете 32-разрядную версию Windows XP. Тем не менее, я нашел более подробную причину, почему ваша система показывает меньше доступного оперативной памяти, чем то, что фактически установлено.

Из проблемы ОЗУ 3 ГБ, а не 4 ГБ (блог Microsoft MSDN):

Из-за архитектурного решения, которое было принято давно, если у вас установлено 4 ГБ физической ОЗУ, Windows может сообщить только часть физических 4 ГБ ОЗУ (в диапазоне от ~ 2,75 ГБ до 3,5 ГБ в зависимости от установленных устройств, чипсета материнской платы и BIOS).

Это происходит из-за «резервирования ввода-вывода с отображением в память». Эти резервирования перекрывают физическое адресное пространство и маскируют эти физические адреса, чтобы их нельзя было использовать для рабочей памяти. Это не зависит от ОС, работающей на машине.

Значительные куски адресного пространства ниже 4 ГБ (самый высокий адрес, доступный через 32-разрядный) зарезервированы для использования системным оборудованием:

  • BIOS - включая ACPI и поддержку устаревшего видео
  • Шина PCI, включая мосты и т. Д.
  • Поддержка PCI Express зарезервирует не менее 256 МБ, до 768 МБ в зависимости от установленной памяти видеокарты

Это означает, что типичная система может видеть между ~ 256 МБ и 1 ГБ адресного пространства ниже 4 ГБ, зарезервированных для аппаратного использования, к которому ОС не может получить доступ. Спецификации чипсета Intel довольно хорошо объясняют, какие диапазоны адресов зарезервированы по умолчанию, и в некоторых случаях говорят, что 1,5 ГБ всегда зарезервированы и, следовательно, недоступны для Windows.

Существует больше информации, если вы проверите источник. Однако вы можете воспользоваться всеми установленными 8 ГБ, если будете следовать этим инструкциям .

Судя по личному опыту, это не новая проблема. Я столкнулся с этой же проблемой несколько лет назад, когда я впервые выпустил Vista с 32-разрядной системой Windows Vista 4 ГБ. В сети было бесчисленное множество сообщений на эту тему.

Читайте также Microsoft KB 929605 - Объем системной памяти, о которой сообщается в диалоговом окне «Сведения о системе» в Windows Vista, меньше ожидаемого, если установлено 4 ГБ ОЗУ .

Документы Microsoft [здесь] (http://msdn.microsoft.com/en-us/library/windows/desktop/aa366778%28v=vs.85%29.aspx#physical_memory_limits_windows_xp), которые Windows XP поддерживает до 128 ГБ ОЗУ, если базовая архитектура является 64-битной. Можете ли вы обновить свой ответ? Dan Dascalescu 11 лет назад 0
@SgtOJ: Как насчет [этого] (http://iknowu.dnsalias.com/files/public/Windows_XP_SP3_Remove_PAE_Limit/Windows_XP_Remove_PAE_Limit.htm «Windows XP SP3 - удаление физического адреса / ОЗУ 4 ГБ и использование до 64 ГБ ОЗУ с использованием ОЗУ до 64 ГБ» )? user2284570 10 лет назад 0
@SgtOJ: ограничение в 4 ГБ ОЗУ НЕ распространяется на "все 32-разрядные операционные системы". 32-разрядная ОС, полностью поддерживающая PAE (например, Windows Server 2003), может с пользой использовать более 4 ГБ ОЗУ. «32 бита» ограничивает виртуальное адресное пространство, а не физическое. Jamie Hanrahan 9 лет назад 1
@JamieHanrahan, это означает, что одна программа не может использовать более 4 ГБ. И я думаю, он имел в виду, что накладные расходы на резервирование ввода-вывода не зависят от ОС. jiggunjer 8 лет назад 0
@jiggunjer Нигде в вопросе или ответе, который я комментировал, не было сказано или подразумевалось, что вопрос о том, что может использовать «одна программа». Также резервирование ввода-вывода не является строго независимым от ОС. Jamie Hanrahan 8 лет назад 0
@JamieHanrahan Я согласен с обоими пунктами. Я просто подумал, что это стоит упомянуть явно для заинтересованных читателей. jiggunjer 8 лет назад 0
3
Shaharyar

Если вы используете 32-битную Windows XP, то это невозможно. Так как для использования дополнительной оперативной памяти недостаточно адресного пространства

Лучшим решением было бы перейти на 64-разрядную версию Windows, поскольку она поддерживает 4+ ГБ ОЗУ.

`2 ^ 32` достаточно" адресного пространства ", чтобы соответствовать 4 ГиБ. Вы ошибаетесь адресным пространством и физической памятью. Каждый процесс в современных версиях Windows видит полное адресное пространство 4 ГиБ, хотя * обычно * только 2 ГиБ используются из-за разделения виртуального адресного пространства UM / KM. 0xC0000022L 12 лет назад 0
@ 0xC0000022L: Это не проблема, обсуждаемая здесь. Ben Voigt 11 лет назад 0
[Согласно Microsoft] (http://superuser.com/questions/439124/8gb-ram-in-32bit-operating-system/525838#525838), большинство выпусков Windows 7 (включая 32-разрядные) поддерживают до 192 ГБ ОЗУ. Единственным требованием является то, что базовая архитектура является 64-битной. Так что лучшим решением было бы перейти с XP на Windows 7. Можете ли вы обновить свой ответ? Dan Dascalescu 11 лет назад 0
@Shaharyar: Что насчет [этого] (http://iknowu.dnsalias.com/files/public/Windows_XP_SP3_Remove_PAE_Limit/Windows_XP_Remove_PAE_Limit.htm «Windows XP SP3 - удаление физического адреса / ОЗУ 4 ГБ и использование до 64 ГБ ОЗУ с использованием ОЗУ до 64 ГБ» )? user2284570 10 лет назад 0
3
drby

Как сказали другие, это невозможно.

Объяснение:

Каждый кусок памяти имеет адрес. Операционная система указывает длину адреса. Для более старых операционных систем длина адреса составляет 32 бита, что позволяет использовать только 2 ^ 32 (4 294 967 296) адресов. Теперь, глядя на это число, может показаться, что ваша операционная система должна поддерживать 4 ГБ, но все другое аппаратное обеспечение (что особенно важно, видеопамять на вашей видеокарте), имеющее внутреннюю память, также отображается в этом адресном пространстве.

Как будто вы пытаетесь раздать 1 200 000 шестизначных телефонных номеров.

Вы смешиваете ОЗУ и адресное пространство. 0xC0000022L 12 лет назад 0
@ 0xC0000022L: Нет, это не так. Он говорит о физическом адресном пространстве, в то время как ОЗУ должно быть отображено для использования. Ben Voigt 11 лет назад 0
@BenVoigt: А как насчет [этого] (http://iknowu.dnsalias.com/files/public/Windows_XP_SP3_Remove_PAE_Limit/Windows_XP_Remove_PAE_Limit.htm «Windows XP SP3 - снимите ограничение 4 ГБ физического адреса / ОЗУ и используйте до 64 ГБ ОЗУ, используя до 64 ГБ ОЗУ» )? user2284570 10 лет назад 0
PAE отлично, если весь код ядра написан для его использования. К сожалению, большая часть кода ядра - это драйверы, написанные сторонними разработчиками, которые едва могут добиться стабильности при использовании модели с плоской памятью. Включение PAE требует отбрасывания всех существующих драйверов с предположением плоской модели. Вот почему сервер Windows включает PAE, а клиент - нет. Смотрите ответ Стива. Ben Voigt 10 лет назад 0
@BenVoigt: с 1997 года драйверы, которые предполагают наличие памяти менее 4 ГБ, являются редкими, поскольку ВСЕ драйверы WDM могут быть установлены в Windows 2000/2003 ... user2284570 10 лет назад 0
3
steve b

Старая материнская плата поддерживала только 4 ГБ физической памяти, современные поддерживают гораздо больше. Процессор Intel P4 всегда может адресовать более 4 ГБ (используя то, что называется расширением физического адреса или PAE)

Microstoft приняла «маркетинговое решение» не поддерживать физическое адресное пространство более 4 Гб в «клиентских» версиях всех 32-битных версий своих операционных систем, включая все от w2k до 32-битной Windows 8 (если вы посетите MS KB На страницах, на которых вы заметите, 32-битные версии серверов могут поддерживать гораздо больше - до 128 Гб, я полагаю, с 32-битной версией Enterprise Edition), поэтому «правильные» 32-битные ОС (Linux и т. д.) на одном и том же оборудовании всегда могут получить доступ ко ВСЕМ физическая оперативная память

(примечание: 32-битным пользователям Win7 настолько надоел этот «глупый» лимит, что они «взломали» Kernal, чтобы разрешить доступ к полной физической ОЗУ ... само собой разумеется, это нарушает вашу лицензию и фактически является незаконным в США (DCMA). )

Windows XP 32bit «резервирует» часть адресного пространства объемом 4 Гб для использования драйвером. Нет никаких причин, по которым вы не можете «адресовать» физическую ОЗУ за пределы 4 ГБ (используя PAE), однако многие драйверы OLDER во времена Windows XP Pro не смогли этого сделать, и вы бы получили ошибку «BSOD» (современные драйверы используют PAE правильно, и в ТЕОРИИ нет причины, по которой им нужно больше, чем около 32 МБ пространственных страниц «lo» (как «окна») в общей сложности, даже для поддержки графической карты 2 ГБ (2 ГБ будут находиться в пространстве «hi», то есть выше 4 ГБ) отметка)

В XP SP2 MS почти втрое увеличила объем адресного пространства, «зарезервированного» для драйверов, чтобы устранить BSOD, и с тех пор так и было (MS не хочет «отлаживать» драйверы == они хотят продать вам 64-битную версию). ОС вместо). Фактическое оборудование практически не влияет на это «зарезервированное» пространство.

Итак, если у вас 4 ГБ или более физической ОЗУ, большинство XP Pro sp2 + увидит около 3,25 ГБ. Остальные МОГУТ получить доступ с помощью различных различных драйверов ОЗУ (не MS, конечно) = идите искать что-то, что использует «Невидимое адресное пространство» или «высокое пространство 4 ГБ» в XP Pro). Использование «отсутствующего» 0,75 ГБ в качестве части «виртуальной памяти» может ускорить работу вашей системы ...

Обратите внимание, что ключ / 3G может разрешить 32-разрядным приложениям доступ до 3 ГБ в 32-разрядной ОС (если в заголовке .exe установлен флаг LargeAddressAware - в этом случае они могут получить доступ к 4 ГБ в 64-разрядной ОС), но в XP вам также нужно указать / USERVA, чтобы не выдавливать ОС из ОЗУ :-)

Поддержка Windows XP SP1> 4 ГБ ОЗУ, если вы добавите ключ / PAE в boot.ini user2284570 10 лет назад 0
0
FrankS

Если вы хотите использовать полные 4 ГБ, единственной возможностью является обновление до 64-битной операционной системы:

  • Windox XP 64
  • Windows Vista 64
  • Linux
  • Max OS / X (хорошо, для этого вам может понадобиться новый компьютер)

Обычная Windows XP - только 32-битная, и это ограничивает память до 3,5 ГБ макс. Проверьте ссылку, размещенную VonC для деталей об этой теме.

Быть 32-битным не ограничивает память до 3,5 ГБ макс. Это другие устройства, которые используют доступное адресное пространство, поэтому возможны и 3.75Gb. -1 MaxVT 14 лет назад 0
Вот почему я сказал "проверьте ссылку для деталей" :-) FrankS 14 лет назад 0
Правильный. Microsoft указывает, что [XP 64-bit поддерживает до 128 ГБ ОЗУ] (http://msdn.microsoft.com/en-us/library/windows/desktop/aa366778%28v=vs.85%29.aspx#physical_memory_limits_windows_xp) , Dan Dascalescu 11 лет назад 0
0
Blam

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

Но лучшее решение, безусловно, получить операционную систему x64.

Нет причин не слишком в любом случае. Большинство программ работают в x64 с XP / Vista / 7, имеющим слой эмуляции x86. Это просто драйверы, которые могут быть проблемой.

Драйверы x64 в Windows XP Pro x64 являются мусором, но драйверы Vista и 7 x64 уже давно стали достаточно зрелыми. MDMarra 14 лет назад 1
0
PF4Public

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

  • Центральное процессорное устройство
  • Блок контроллера памяти
  • BIOS / (U) EFI
  • Операционная система
  • заявка

Последний пункт не имеет отношения к проблеме напрямую, но я добавил его для полноты картины.

Короче говоря, все вышеперечисленные компоненты должны поддерживать более 4 ГБ памяти, чтобы добиться успеха.

Центральное процессорное устройство

Давайте начнем с процессора. Но сначала важно отметить, что ЦП вообще не обладает магической способностью использовать какую-либо память . Вместо этого он мог просто получить доступ к любому адресу в пределах своего адресуемого пространства . Теперь вот идет вещь битности. 32-разрядный ЦП способен обращаться к адресам в диапазоне от 0 до 4 ГиБ. Этот диапазон, однако должен учитывать не только имеющийся RAM, ROM, SMRAM, График Адрес Remapping Таблица но и все необходимые Отображаемый в памяти ввод / выводи многое другое, что может потребовать значительной части этого диапазона адресов. Как следствие, вполне возможно, что некоторые адреса памяти были скрыты этим использованием и, следовательно, недоступны для операций с оперативной памятью. Чтобы восстановить скрытую память, необходимо расширить доступное адресное пространство CPU . В случае 32-битного расширения физического адреса ЦП может помочь. Что позволяет адресовать до 64 ГиБ. 64-разрядный операционный процессор в основном режиме 64-битного по умолчанию, способного доступадо 16 EiB, что довольно много и не требует таких уловок. Но с другой стороны, 64-разрядному ЦП нецелесообразно использовать 64-разрядную адресацию, поэтому в действительности они все еще ограничены адресной шиной меньшим диапазоном, чем 16 EiB.

Блок контроллера памяти

Первоначально он находился в Северном мосту, но был перенесен на процессорную головку AMD, начиная с процессоров AMD64, и Intel с процессорами Nehalem. Даже если ЦП с PAE способен самостоятельно обращаться к 64 ГиБ, ему все равно нужен MCU для доступа к ОЗУ. Проще говоря: процессор, обращающийся к определенному адресу, получает свой ответ либо от устройства PCI, флэш-памяти BIOS или MCU, если запрашиваемый адрес находится в оперативной памяти, и так далее. Однако для MCU (будь то в северном мосту или в процессоре) нередко поддерживается гораздо меньше адресуемого пространства, чем, например, 64 ГиБ по маркетинговым причинам.

BIOS / (U) EFI

BIOS / (U) EFI также важны, так как их обязанность - конфигурировать аппаратные средства, прежде чем что-либо действительно сможет работать. Помимо прочего, они отвечают за отображение всего адресуемого пространства процессора с диапазонами памяти аппаратных устройств, шин, оперативной памяти и так далее. Интересно, что может случиться так, что вся оперативная память разделится на части и отобразится в нескольких доступных несмежных точках. Проблема с BIOS заключается в том, что его разработчики могут рассчитывать не более чем на 3 ГБ использования ОЗУ в своей системе, и, таким образом, BIOS не будет правильно отображать всю используемую память. Скорее всего, этого не произойдет с (U) EFI.

Операционная система

Операционная система также должна поддерживать адресацию более 4 ГБ памяти. Чтобы быть более конкретным, он должен настроить процессор для использования PAE. Некоторые 32-разрядные операционные системы прекрасно могут использовать PAE и получать доступ к более чем 4 ГиБ, другие имеют программный лимит на максимальный объем памяти, даже несмотря на то, что они включают PAE для повышенной безопасности (например, Windows XP). Еще раз, 64-битные ОС, естественно, не испытывают таких трудностей и обычно поддерживают более 4 ГБ памяти.

заявка

Последний пункт из другого мира, так как приложения обычно работают в виртуальном адресном пространстве, я добавил его для полноты картины. Тем не менее, для компиляции приложения требуется несколько дополнительных шагов, чтобы иметь возможность использовать больше памяти. По умолчанию 32-битное приложение может использовать только 2 ГБ памяти. Одно и то же 32-разрядное приложение может адресовать до 4 ГБ памяти при условии, что ОС поддерживает это и поддерживает CPU PAE. Более конкретно, он мог бы использоватьдо 3 ГБ памяти, остальные 1 ГБ могут быть адресованы как общие библиотеки и ядро ​​ОС, но недоступны для записи (в конечном итоге это зависит от архитектуры ОС, а не от самого приложения). Опять же, 64-битные приложения изначально поддерживают адресацию более 4 ГБ памяти и не имеют таких проблем.

Чтобы рассмотреть все это в перспективе, давайте рассмотрим несколько примеров.

Рассмотрим контроллер памяти Intel® 82945G . На сайте Intel говорится, что он не поддерживает PAE и ограничен 4 ГБ оперативной памяти. Давайте посмотрим на абзац 9 System Address Mapтаблицы. В нем много информации. Наиболее интересным является Figure 9-3. Main Memory Address Range: Figure 9-3. Main Memory Address Range и абзац 9.2 Main Memory Address Range (1 MB to TOLUD), который гласит:

Этот диапазон адресов простирается от 1 МБ до верхней части физической памяти, доступ к которой разрешен (G) MCH (как запрограммировано в регистре TOLUD). Все обращения к адресам в этом диапазоне перенаправляются (G) MCH в основную память, если только они не попадают в опциональный TSEG, опциональное отверстие ISA или опциональную память VGA, украденную IGD. (G) MCH обеспечивает максимальное пространство декодирования адреса основной памяти 4 ГБ (2 ГБ для 82945GC / 82945GZ / 82945PL). (G) MCH не переназначает пространство памяти APIC или PCI Express. Это означает, что, поскольку объем физической памяти, заполненной в системе, достигает 4 ГБ (2 ГБ для 82945GC / 82945GZ / 82945PL), будет существующая физическая память, которая еще не адресуема и поэтому не может использоваться системой.

Как говорится, поскольку он не поддерживает PAE, он в конечном итоге не может переназначить PCI и все остальные MMIO выше 4 ГБ, поэтому часть памяти будет затенена и неиспользована. Это означает, что даже если он используется с процессором, поддерживающим 36-битную адресацию, память выше 4 ГБ все равно будет недоступна, а часть памяти, близкая к пределу 4 ГБ, также не будет использоваться.

И наоборот, давайте рассмотрим контроллер памяти Intel® 82955X, который связан с предыдущим, но он настроен на поддержку 8 ГБ в отличие от предыдущего! В параграфе таблицы данных 2.1 Host Interface Signalsпредполагается, что он использует 36-битную адресную шину для ЦП, что является хорошим признаком. Параграф 7 System Address Mapимеет дальнейшее понимание. Сравните Figure 7-1. System Address Rangesс тем, что мы видели ранее: Figure 7-1. System Address Ranges это ясно говорит о том, что он способен использовать более 4 ГБ ОЗУ при условии, что он используется с процессором, также способным к 36-битной адресации. Также стоит отметить, что в этом пункте 7 System Address Mapговорится, что MCH supports 64 GB of addressable memory space. Однако дополнительно уточняется, что максимально используемая оперативная память ограничена 8 ГБ. Это еще раз заявляет о разнице между адресуемой ипригодный для использования, как я пытался передать в разделе процессора.

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

Давайте рассмотрим процессор Intel® Pentium® Extreme Edition 840 . Он поддерживает 64-битный набор инструкций, но не поддерживает PAE. Это означает, что при работе в 32-разрядном режиме он не сможет использовать более 4 ГБ ОЗУ (пожалуйста, исправьте меня, если я ошибаюсь в этом предположении). Давайте посмотрим на таблицу и таблицу Table 4-3. Signal Description. Несмотря на то, что этот ЦП поддерживает 64-разрядную архитектуру, он по-прежнему ограничен шириной 36-разрядной адресной шины, что ограничивает его доступным диапазоном адресов от 0 до 64 ГиБ.

Теперь давайте рассмотрим более свежий процессор. Возьмите Intel® Core ™ i7-7700 Processor, например. Он рекламируется для поддержки до 64 ГБ оперативной памяти. Теперь давайте проверим таблицу данных этого. Параграф 2.3 System Address Mapубеждает нас, что диапазон адресации этого ЦП составляет от 0 до 512 ГБ из-за 39-битной адресной шины. Обратите внимание, что это все еще далеко от теоретического диапазона 16 EiB для 64-битного процессора. Удивительно, хотя он дополнительно разъясняет, что этот процессор поддерживает до 32 ГиБ от используемого максимума RAM (вопреки 64 ГБ на веб - сайте). Здесь также есть интересное изображение Figure 2-2. System Address Range Example: Figure 2-2. System Address Range Example оно хорошо иллюстрирует проблему с затенением памяти PCI-устройствами и т. Д. Также предлагается способ преодоления этой проблемы путем сопоставлениядиапазон от реального ОЗУ до верхнего диапазона адресов в пределах диапазона адресации ЦП . Таким образом восстанавливая эту скрытую память для использования. Обратите внимание, что это переназначение выполняется BIOS / (U) EFI после аппаратной инициализации, и именно по этой причине я включил BIOS / (U) EFI в список выше.

Я взял в качестве примера продукты Intel, но то же самое относится и к AMD.

Теперь давайте обсудим, как задействованы операционные системы. Ядро Linux включает полную поддержку режима PAE, начиная с версии 2.3.23, и вполне возможно иметь более 4 ГБ памяти, используемой с ядром Linux в 32-разрядной системе. Однако следует помнить о неопределенной проблеме с 32-битным ядром Linux в системе с более чем 4 ГБ ОЗУ на некотором оборудовании (по моему опыту это имеет отношение к сбоям TLB). В любом случае, в Википедии есть хорошая информация о поддержке PAE . Интересно, что Windows XP ограничена 4 ГБ, тогда как Windows Server 2003 Enterprise / Datacenter SP2 может заполнять до 64 ГБ. То же самое для других пар Windows Desktop-Server.

Как вы можете видеть, существует множество комбинаций среди перечисленных компонентов, и в некоторых случаях замена процессора или ОС может помочь. Гораздо сложнее иметь дело с BIOS / (U) EFI или MCU, так как первый является проприетарным и встроенным в систему, и его нелегко изменить, последний встроен в ЦП или припаян на плате.

-4
user235193

it shows 3574MB Ram because thats how much RAM is FREE and available for the computer to use at any time. This figure is the RAM that your computer has total access to because the programs and settings pre-installed onto the PC use a set amount of RAM which, in your case, happens to be 426mb. My 6GB 64bit PC shows 5.8GB available RAM isntead of the full 6GBs. Your best bet would be to look into upgrading your PC

Если 3,5 ГБ является свободной ОЗУ, то почему Windows все еще делит ее на свободную и использованную ОЗУ? Это операционная система, она должна знать обо всем, особенно если что-то использует 0,5 ГБ памяти. Установленные программы не занимают ОЗУ, пока они не запущены. gronostaj 10 лет назад 0