3 ГБ ОЗУ установлено и обнаружено BIOS, Windows Vista только 32 ГБ видит 2 ГБ

9

Я пытаюсь установить больше ОЗУ на 32-битной машине Windows Vista, которая использует материнскую плату X6DAL-XG, и объем ОЗУ, указанный в BIOS, составляет 3 ГБ +, но Windows сообщает только об установке 2 ГБ. Материнская плата имеет 6 отсеков для ОЗУ, которые я заполнил различными комбинациями из 4 стоек по 1 ГБ и 2 по 512 Мб, но как бы я ни настраивал их, Windows не видит больше 2 ГБ. Я понимаю, что 32-битная Windows имеет ограничение в 3 ГБ памяти, но это не объясняет, почему она будет сообщать только о 2 ГБ, когда на самом деле (в настоящее время) установлено 5 ГБ. Я должен думать, что смог бы увидеть по крайней мере 3 ГБ.

Согласно спецификации для материнской платы минимальные требования к оперативной памяти составляют DDR333 / 266 МГц, установленные попарно. Я сделал это точно, и BIOS не сообщает о каких-либо проблем на POST.

Конфигурация ОЗУ (в соответствии с CPU-Z)

  • Слот № 1: PQI MD6412ROE - 512 МБ PC2700 (166 МГц)
  • Слот № 2: PQI MD6412ROE - 512 МБ PC2700 (166 МГц)
  • Слот № 3: Kingston 128mx72D266C25 - 1024 МБ PC2100 (133 МГц)
  • Слот № 4: Kingston KVR266X72RC25 / 1024 - 1024 МБ PC2100 (133 МГц)
  • Слот № 5: Kingston 128mx72D266C25 - 1024 МБ PC2100 (133 МГц)
  • Слот № 6: Kingston KVR266X72RC25 / 1024 - 1024 МБ PC2100 (133 МГц)

Я не уверен, конфликтуют ли спецификации памяти выше с этим утверждением в руководстве по материнской плате или нет:

Поддержка памяти

X6DAL-XG поддерживает до 12 ГБ / 24 ГБ зарегистрированной памяти ECC DDR333 / 266 (PC2700 / PC2100). Материнская плата была разработана для поддержки модулей 4 ГБ (PC2100) в каждом слоте, но только модули 2 ГБ были протестированы. При использовании зарегистрированной памяти ECC DDR333 (PC2700) поддерживается установка четырех блоков памяти с двумя банками или шести блоков памяти с одним банком.

Итак, я делаю что-то не так с ОЗУ, которое у меня сейчас, или есть какая-то проблема с совместимостью, которую мне не хватает?

Спасибо!


Немного подробнее

  • CPU-Z отчет для машины
  • Я выполнил несколько дополнительных тестов с этой проблемой как в Ubuntu, так и в Windows Server 2008, и они также сообщают только о 2 ГБ.
  • Я попытался поиграться с функцией Memory Remap (включить / отключить) в конфигурации северного моста на моей материнской плате, но результатов не увидел.
  • В дополнение к вышеперечисленному оборудованию у меня есть одна видеокарта PCI Express 256 Мб, и все для периферии. Я не думаю, что отображение ввода / вывода с памятью является проблемой здесь.
  • Я удалил 2 512 МБ флешки и у меня осталось только 4 1 ГБ флешки
  • Я прошил BIOS материнской платы до последней версии производителя

Другое обновление

Мне удалось протестировать эту аппаратную конфигурацию на 64-битной копии Ubuntu, и ОЗУ полностью определяется при установленной 4 ГБ , но независимо от конфигурации ОЗУ я не могу найти ни одну 32-разрядную ОС, которая будет читать более 2 ГБ. Таким образом, остается вопрос: почему 64-разрядная ОС может видеть более 2 ГБ ОЗУ, в то время как 32-разрядная ОС, установленная на той же машине, достигает 2 ГБ?


После мыслей

Тем не менее, я высоко ценю вклад всех, но я все еще не чувствую, что был правильный ответ на эту проблему, несмотря на все ваши усилия. Благодаря @Goyuix я узнал, что использую 64-разрядный процессор, и даже не осознавал этого, и теперь, по крайней мере, у меня есть приемлемый обходной путь.

За исключением неожиданного поворота событий, похоже, что вознаграждение будет автоматически зачислено на @Mark Booth из-за истечения срока действия вознаграждения, что я не обязательно возражаю, потому что его ответ хорош ; это просто не решение этой конкретной проблемы. (Абсолютно без обид, Марк, я действительно ценю ваш качественный ответ!)

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

Спасибо всем.

Натан Тейлор
источник
Если бы у вас была доступна Windows 7, мне бы очень хотелось посмотреть, как работает этот патч: superuser.com/questions/67444/…
Прорыв
Кроме того, что происходит, когда вы удаляете две палочки по 512 Мб?
Прорыв
@ Прорыв Я попытался удалить 512 Мб стики, но это, похоже, не имело никакого значения. Я испробовал все возможные комбинации сопряжения с одной и той же моделью с 6 доступными мне палками ОЗУ.
Натан Тейлор
Проверьте системный журнал событий, запустив eventvwr.msc и выполнив поиск связанных сообщений.
Марк Аллен
@Mark. Он не изолирован только для Windows - встречается и в Ubuntu. Журнал событий не имеет каких-либо признаков аппаратной проблемы.
Натан Тейлор

Ответы:

3

Поскольку вы упомянули в комментарии, что Server 2008 сообщает только о 2 ГБ, то с вашей конфигурацией что-то не так.

  1. Что ваш BIOS сообщает об установленной оперативной памяти? Это видит 4 гб?
  2. Согласно инструкции:
    • Память Remap должна быть включена
    • Зеркалирование памяти должно быть отключено
  3. Как устанавливаются ваши модули? В руководстве указано, что они должны быть установлены парами, а парные слоты расположены рядом друг с другом. Согласно вашему сообщению, похоже, что вы не установили свой парный баран в соседние слоты. Проверьте физическую установку ваших модулей в соответствии с руководством по материнской плате / запечатлением материнской платы.
  4. Вы пробовали каждую пару модулей по 1 ГБ в отдельности?
    • Если это так, проверьте каждую пару с Memtest86 +, чтобы убедиться, что каждая пара работает правильно.
    • Если каждая пара проверяет, попробуйте изменить порядок, в котором они установлены.
afrazier
источник
BIOS сообщает о 4 ГБ, как и CPU-Z. Перераспределение памяти включено и зеркалирование отключено. Я сделаю еще один снимок, но, насколько я помню, соединение ОЗУ не так, как сейчас, заставляет BIOS его не распознавать. Я попробую memtest на отдельных парах и посмотрю, что произойдет.
Натан Тейлор
Любое слово о тестировании отдельных пар?
Размягчитель
Как это было принято? Я не выбрал его, что означает, что за него проголосовал самый высокий рейтинг, не так ли?
Натан Тейлор
«Ответ с наибольшим количеством голосов, созданный после того, как награда началась как минимум с 2 голосов, будет принят автоматически». (выделение мое) Тем не менее, у вас все еще есть проблема, если 32-битный Server 2008 не видит все 4 ГБ. Если это рабочий сервер, это то, что вы действительно должны разобраться.
афразир
9

Принимая во внимание приведенные выше доказательства, две наиболее вероятные вещи для рассмотрения:

  • Аппаратное обеспечение, отображаемое в память, ограничивает объем памяти, доступной для 32-битной операционной системы.

  • Windows искусственно ограничивает объем памяти, доступной операционной системе.

Аппаратное ограничение

С 32-битной ОС у вас есть 4 ГБ адресного пространства. Любое периферийное устройство с IO, отображаемым в память (порты ввода-вывода, сетевые карты, графические карты, другие материнские платы или карты расширения), будет занимать часть (обычно довольно небольшую) этого адресного пространства. Любая память, используемая для ввода-вывода с отображенной памятью, не может использоваться для основной памяти.

Хуже всего в IO с отображением памяти являются видеокарты. Если у вас есть две видеокарты, каждая с 1 ГБ или памятью, 2 ГБ вашего адресного пространства будет израсходовано, в результате чего у вас останется только 2 ГБ основной памяти, сколько бы физической памяти вы не установили.

Это не проблема на машине с 64-битной ОС, так как эти 2 ГБ могут отображаться достаточно далеко от вашей основной памяти, но на 32-битной ОС вы ограничены всего 4 ГБ (без использования трюков, которые Microsoft отключила в своих сервер 32-битных ОС).

Искусственное ограничение

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

Я никогда не делал этого под Vista, но под XP вы запускаете msconfig и смотрите «Дополнительные параметры» на вкладке «BOOT.INI». Если был установлен «/ MAXMEM», то XP игнорировал всю память выше этого.

Поиск в Интернете, похоже, вы используете bcdedit под Vista. Хорошее описание того, как его использовать, можно найти здесь . Однако, как всегда, убедитесь, что вы понимаете, что делаете, прежде чем связываться с этими вещами.

Другие возможности, специфичные для систем сервера / рабочей станции

Просматривая X6DAL-XG руководства , интересно , если «Memory Mirroring и Sparing» включена в Bios:

Выберите Enabled, чтобы включить Memory RAS (-Mirroring and Sparing), чтобы позволить системе создавать зеркальную копию данных, записанных в память, для обеспечения безопасности данных. Возможные варианты: «Отключено» и «Включено».

Я предполагаю, что в режиме зеркалирования памяти используются только 4 банка, что объясняет, почему удаление 512 МБ диммов не имеет значения для памяти, видимой для Windows.

Марк Бут
источник
1
В настоящее время я использую GeForce 7800GTX с 256 МБ видеопамяти в этой системе, поэтому я не подозреваю, что она будет сильно врезаться в физическую память.
Натан Тейлор
Это отличный ответ, но, насколько я могу судить, ни одна из них не является проблемой, с которой я сталкиваюсь, в зависимости от конфигурации оборудования и того факта, что проблема распространяется и на другие операционные системы.
Натан Тейлор
Основываясь на моем открытии, что ОЗУ полностью обнаружена в 64-битной ОС, я думаю, можно с уверенностью сказать, что этот ответ не имеет значения. Спасибо, все же, хотя!
Натан Тейлор
так как вы видите всю оперативную память на 64-битной ОС, я бы посоветовал этот ответ очень актуален
HorusKol
@Mark У меня в настоящее время для параметра «Зеркальное отображение и резервирование памяти» установлено значение по умолчанию «Отключено».
Натан Тейлор
2

Хотя это и не решает вашу проблему напрямую, это может помочь в ее диагностике. Вы пробовали запустить Linux Live CD, такой как Ubuntu ? В идеале вы должны попытаться загрузить как 32-битную, так и 64-битную версию - 64-битная должна видеть дополнительную оперативную память без проблем, и если она видит только две, то у вас почти наверняка есть проблема, связанная с аппаратным обеспечением. Если 32-разрядная версия Linux также видит только 2 ГБ ОЗУ, то, как отметил Марк Бут, вы, вероятно, подключили память к операциям ввода-вывода, занимающим остальное.

Видеокарты, как правило, являются худшими нарушителями в использовании доступной оперативной памяти, у вас случайно не установлены две карты емкостью 1 Гб?

Восстановление памяти

Многие современные BIOS будут иметь возможность перераспределить пространство памяти, чтобы избежать проблем MMIO - хотя это работает только для 64-битных операционных систем или систем с поддержкой PAE. Проверьте свой BIOS для этой настройки.

http://support.microsoft.com/kb/929605

Goyuix
источник
В настоящее время система работает на одном 7800GTX (256 МБ), поэтому я не подозреваю, что это является источником проблемы
Натан Тейлор,
@ Натан - ты пробовал один из вариантов Linux? Также обратите внимание: независимо от того, сколько оперативной памяти вы установили и видите, один процесс никогда не сможет использовать более 2 ГБ под 32-битной настольной ОС Windows. Где вы видите 2 ГБ? BIOS? Системные свойства? Что произойдет, если вы потянете две палочки по 512 МБ?
Goyuix
@Goyuix У меня сложилось впечатление, что 32-битная Windows может адресовать до 3 ГБ, даже если она будет выделять только 2 ГБ процессам. BIOS сообщает о 4 ГБ ОЗУ, а операционная система сообщает только о 2 ГБ. Я не пробовал Linux, однако я пытался изменить палки вокруг, включая удаление 512 МБ DIMM.
Натан Тейлор
@ Натан теоретически Win32 может адресовать все 4 ГБ памяти, проблема в том, что архитектура x86 использует отображение ввода-вывода с отображением памяти для многих устройств - как правило, самым большим нарушителем являются видеокарты из-за их большого объема памяти. Карта 512 МБ уменьшит максимальный общий объем адресуемой оперативной памяти до 3,5 ГБ. Вставьте две видеокарты 1 ГБ в компьютер, и Win32 не сможет увидеть даже более 2 ГБ ОЗУ. Другие устройства также используют ввод-вывод с отображением в памяти, хотя обычно их диапазон адресов составляет не более нескольких мегабайт и остается в основном незамеченным.
Goyuix
1
@ Натан: Это не просто видеокарта. Системный набор микросхем, надстройки и интегрированные устройства, а также конфигурация BIOS вступают в игру, потому что во многих случаях используется MMIO. Кроме того, 32-разрядные клиенты Windows могут использовать только адреса памяти до 4 ГиБ. Сервер 2003 Std 32-разрядный может адресовать до 4 ГБ ОЗУ, независимо от того, какие адреса используются. Enterprise & DataCenter может решать гораздо больше. Весь «32-битный лимит Windows 4 GiB» - это лицензионное ограничение, не более того. Объем виртуального адресного пространства, доступного для отдельного процесса, является совершенно отдельной проблемой.
afrazier
1

Если все операционные системы сообщают о 2 ГБ, возможно, проблема в материнской плате.

Мне не нравится тот факт, что вы используете две разные карты памяти, даже если они установлены попарно.
Я бы предложил использовать только один вид карты памяти.

Согласно ramshopping.com , для вашей материнской платы рекомендуются только карты KVR .
Я попытался бы вынуть две другие карты и посмотреть, загружается ли машина с 2 ГБ.
Если да, я бы заменил две неработающие карты на карты, идентичные тем, которые работают.

harrymc
источник
1
Хотя это возможно, я не считаю, что это является проблемой, потому что я пробовал 4 различных типа ОЗУ, все из которых были 1 ГБ, и из всех 4 установленных мной сейчас только 4, которые были полностью обнаружены. по биосу.
Натан Тейлор
@ Натан Тейлор: Но вы использовали 4 одинаковых палочки?
Harrymc
Нет, только 4 палки, которые вы видите выше.
Натан Тейлор
@ Натан Тейлор: Вот что я имел в виду - используя 4 палки одного типа.
harrymc
Он использует 4 Kingston - 2 KVR, 2 128mx - как это было в течение некоторого времени ..
Натан Тейлор
0

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

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

th3dude
источник
0

Вы должны проверить свой BIOS. У многих есть функция под названием «Режим установки ОС» или похожее имя, которое ограничивает объем оперативной памяти, которую может видеть ваша операционная система. Это было необходимо, потому что некоторые установщики операционной системы потерпели бы неудачу, если бы было слишком много памяти. Отключение должно решить.


источник
Я посмотрел вокруг в BIOS, а также в руководстве, но я не вижу никаких вариантов, похожих на это.
Натан Тейлор