Почему Windows 7 x64 не может использовать всю установленную память?

8

Я использую Windows 7 x64 RTM на Dell Latitude D520 с 4 ГБ памяти. Панель управления системой сообщает:

Тип системы: 64-разрядная операционная система.
Установленная память: 4,00 ГБ (3,24 для использования).

Почему не вся память пригодна для использования? Поскольку я использую 64-битную версию, это ограничение dell?


Редактировать:

Это дало мне больше вопросов:

  1. Если система сообщает, что я могу использовать 3,24 ГБ, означает ли это, что 760 МБ используется видеокартой? Это выглядит много, и спецификации на этой странице заявляют, что он будет использовать до 128 МБ)
  2. Если 760MB не используется видео, это впустую?
  3. Помогает ли мне запуск 64-битных окон? Если нет, есть ли другие преимущества для 64-битных окон?
Майкл Харен
источник
@Joey, Vista не была лучше в использовании памяти, о ней просто по-другому сообщали в GUI
edusysadmin
@edu: Знай это сейчас. Не тогда, хотя.
Джои
Я вижу то же самое,Installed memory (RAM): 32.0 GB (16.0 usable)
jxramos

Ответы:

5

Либо вы делаете то, что предлагает Пост № 1, либо ваша материнская плата просто не поддерживает отображение адресов памяти, что означает: вам не нужно 4 ГБ с этим оборудованием.

Waaahsabi
источник
1
Что такое Пост № 1? Вы имеете в виду ответ Джона Т ?
Тамара Вийсман
9

Есть 2 вероятные причины для этого.

  • Вам нужно включить Memory Remappingв вашем BIOS
  • Возможно, ваша видеокарта разделяет внутреннюю память.

Обычно это последний случай. Это была одна из запланированных функций Windows 7, вы можете прочитать об этом здесь .

Джон Т
источник
Перепрошивка BIOS сейчас до последней ... будет перебирать BIOS при перезапуске для этой опции. Вернитесь через минуту ...
Майкл Харен
1
Обновление BIOS не помогло. Я не видел там никаких настроек, связанных с памятью. Тем не менее, он имел следующее сообщение: «Из-за объема памяти, выделенного для использования системой, доступная память меньше установленной памяти».
Майкл Харен
1
это указывало бы на то, что он разделяет память ... возможно, с вашей видеокартой.
Джон Т
3
По умолчанию ваш чипсет имеет преобразование памяти, совместимое с 32-битными системами. Это приводит к тому, что карты pci / gfx / io и все остальное отображается в памяти ниже предела 4 ГБ. Это происходит до того, как Windows появляется на картинке, и Windows ничего не может с этим поделать. Чтобы иметь возможность использовать вашу память, вам нужна 64-битная ОС и перераспределение памяти включено.
Пакси
1
Забыл добавить, что если вы не можете найти это в своем BIOS, вам следует обратиться к поставщику оборудования. Vista SP1 представила новую «функцию», которая отображает всю установленную память вместо всей памяти, доступной для Windows, чтобы избежать подобных вопросов. Это означает, что Vista pre-sp1 отображает 2,93 ГБ, а Vista post-sp1 отображает 4 ГБ. Конечный результат тот же, все, что меняется, это косметика.
Пакси
0

Это может быть и ограничение Windows. Однако обычно нет предварительной версии IIRC.

wazoox
источник
Я использую RTM, Ultimate (из MSDN)
Майкл Харен
0

У меня есть D520, и я вижу примерно такое же количество потерь. Я использую Linux с включенным PAE . Я всегда предполагал, что недостающая память используется для встроенного видеочипсета.

Джим Хунзикер
источник
0

Это ограничение вашего чипсета / видеокарты / драйвера устройства. Windows (или в некоторых случаях BIOS) отображает память на видеокарту, чтобы использовать ее, потому что у нее нет собственной памяти. Windows не может просто использовать его, когда хочет, потому что это будет нарушением разумных принципов. Microsoft думала о том, чтобы отобразить и переназначить эту память выше 4 ГБ в зависимости от использования. Проблема заключалась в том, что это вызвало бы ОГРОМНУЮ нестабильность в потребительских системах. Обратите внимание, что Windows Server НЕ страдает от ограничения в 4 ГБ, даже на компьютерах с архитектурой x86 ...

http://msdn.microsoft.com/en-us/library/aa366778(v=vs.85).aspx#physical_memory_limits_windows_server_2003

Причина была, опять же, в драйверах устройств. Рынок серверов, как правило, имеет меньший рынок драйверов устройств и разработчиков DD, поэтому можно было тестировать и поддерживать большие адресные пространства. Для потребителя это кошмар. Технически операционные системы XP SP2 и выше x86 МОГУТ использовать адрес памяти более 4 ГБ. Хотя не все драйверы устройств поддерживают это, поскольку превышение 4 ГБ означает, что ваши указатели длиннее. Таким образом, DD часто выдает ошибку и, таким образом, вызывает синий экран или даже не загружается.

Еще одно последствие переназначения видеопамяти заключается в том, что видеокарта чувствительна к задержкам . Восстановление памяти обратно на карту включает в себя следующее:

  1. Перемещение того, что было там, в файл подкачки. , , (спин спин)
  2. Запись в базу данных карты памяти ОС, куда вы положили файл
  3. Если для этого нужна заразная память. , , повторите 1 и 2
  4. Затем видеокарта должна ждать выделения памяти. (крутить пальцы)
  5. Загрузка текстур для видеокарты. (спин спин)
  6. Запись в базу данных карты памяти, куда вы положили текстуры
  7. Затем постоянно опрашивайте видеокарту: «Вы уже закончили? Вы уже закончили? Да! Да !? Ведь Джонни Бой на панели задач ДЕЙСТВИТЕЛЬНО ДЕЙСТВИТЕЛЬНО ДОЛЖЕН БЫТЬ ПЛОХО !!»
  8. Затем графическая карта решает, основываясь на каком-либо алгоритме, что она должна и не должна сохранять.
  9. Затем сообщите ОС, какую часть памяти она не использует.
  10. Все это вовремя, чтобы дать вам 60 кадров в секунду (ну, не технически, но вы видите смысл)

Это также повлияет на все остальные драйверы, которыми управляет ОС, которые чувствительны к задержке, т. Е. Аудиодрайвер (пропустить пропустить) и сетевые драйверы (Эй, как этот парень телепортировался через дверь !?)

Как вы можете решить это? Поощрение более высокого качества разработчиков драйверов устройств. Они очень недооценены и недооценены. Идеи включают в себя отправку местных пакетов помощи разработчикам DD, комплектов Lego Robotics, больших мониторов и, конечно же, женщин.

surfasb
источник
Указатели x64 длиннее, это не относится к 64-битной ОС.
Бен Фойгт
@surfasb: «Переопределение» вовсе не означает, что вы думаете, что это значит. Чтобы поместить окно видеокарты выше точки 4 ГБ, не требуется «переназначение», это просто означает, что сначала нужно отобразить его там. Да, это окно затем может быть переназначено в различные места в ОЗУ карты; но это не подразумевает подкачки или вообще того, что вы описываете. Что касается указателей, то это виртуальные адреса; в 32-битной системе они остаются на 32 битах независимо от того, сколько у вас оперативной памяти.
Джейми Ханрахан