3 Гб оперативної пам’яті, встановленої та виявленої BIOS, 32-розрядний Windows Vista бачить лише 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 - 1024mb PC2100 (133 МГц)
  • Слот №4: Kingston KVR266X72RC25 / 1024 - 1024mb PC2100 (133 МГц)
  • Слот №5: Kingston 128mx72D266C25 - 1024mb PC2100 (133 МГц)
  • Слот №6: Kingston KVR266X72RC25 / 1024 - 1024mb 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 (Увімкнути / Вимкнути) в конфігурації материнської плати Northbridge, але не побачив результатів.
  • Окрім обладнання, описаного вище, у мене є одна відеокарта 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 Мб?
Прорив

@Зараз я спробував видалити палички 512mb, але, схоже, це не мало ніякого значення. Я пробував всі можливі комбінації з однаковою моделлю, можливі з 6 доступними паличками оперативної пам'яті.
Натан Тейлор

Перевірте системний журнал подій, запустивши eventvwr.msc і шукайте відповідні повідомлення.
Марк Аллен

@Mark Це не тільки для Windows - відбувається і в Ubuntu. У журналі подій немає жодних ознак апаратної проблеми.
Натан Тейлор

Відповіді:


3

Оскільки ви згадували в коментарі, що Server 2008 повідомляє лише про 2 Гб, то з вашою конфігурацією щось не так.

  1. Що відповідає ваш BIOS для встановленої оперативної пам’яті? Він бачить 4 ГБ?
  2. Відповідно до посібника:
    • Режим пам'яті потрібно ввімкнути
    • Дзеркальне відображення пам'яті повинно бути вимкнено
  3. Як встановлюються ваші модулі? Посібник вказує, що вони повинні встановлюватися парами, а також, що парні слоти розташовані поруч один з одним. Згідно з вашим дописом, схоже, у вас немає встановленого парного барана в сусідні слоти. Перевірте фізичну установку ваших модулів у відповідності з інструкцією щодо материнської плати / друкованої плати.
  4. Ви пробували кожну пару модулів по 1 ГБ окремо?
    • Якщо так, протестуйте кожну пару за допомогою Memtest86 +, щоб переконатися, що кожна пара працює правильно.
    • Якщо кожна пара перевіряється, спробуйте змінити порядок, у який вони встановлені.

BIOS повідомляє 4gb, так само CPU-Z. Перезапис пам’яті ввімкнено, а дзеркальне відображення вимкнено. Я ще раз спробую, але, як я пам'ятаю, з'єднання оперативної пам’яті інакше, ніж зараз, викликає, що BIOS не розпізнає її. Я спробую зауважити окремі пари і побачити, що вийде.
Натан Тейлор

Будь-яке слово про запам'ятовування окремих пар?
фельдшер

Ага, як це прийняли? Я не вибрав це, що означає, що відповідь з найвищим рейтингом повинен прийняти, ні?
Натан Тейлор

"Найвища відповідь, створена після того, як сума розпочалася з принаймні 2-х результатів, буде автоматично прийнята." (наголос мій) Однак, у вас все ще виникає проблема, якщо 32-розрядний сервер 2008 не бачить усіх 4 Гб. Якщо це виробничий сервер, це дійсно слід розібратися.
фельдшер

9

Враховуючи наведені вище докази, слід врахувати дві найбільш вірогідні речі:

  • Обладнання, нанесене на карту пам'яті, обмежує об'єм пам'яті, доступної для 32-бітної операційної системи.

  • Windows штучно обмежує доступну операційну систему пам'яті.

Обмеження обладнання

З 32-бітовою ОС у вас є 4 Гб адресного простору. Будь-яка периферія з пам'яттю, відображеною в пам'яті IO (порти IO, мережеві карти, графічні карти, інші материнські плати або додаткові карти), займе частину (як правило, зовсім невелику) цього адресного простору. Будь-яка пам'ять, яка використовується для 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:

Виберіть Увімкнено, щоб увімкнути RAS пам'яті (-Добавлення та збереження), щоб дозволити системі створювати дзеркальну копію даних, записаних у пам'ять для захисту даних. Параметри вимкнено та увімкнено.

Я б здогадався, що в режимі дзеркального відображення в пам'яті використовуються лише 4 банки, що пояснило б, чому видалення 512 Мб Dimms не змінило пам'ять, видиму Windows.


1
В даний час я працюю на GeForce 7800GTX з 256 Мб відеопам'яті в цій системі, тому я не підозрюю, що це дуже сильно укуситься у фізичну пам'ять.
Натан Тейлор

Це чудова відповідь, але, наскільки я не можу сказати, жодне з них не є проблемою, яку я відчуваю, виходячи з конфігурації обладнання та того, що ця проблема поширюється і на інші операційні системи.
Натан Тейлор

Виходячи з мого відкриття, що оперативна пам’ять повністю виявлена ​​на 64-бітній ОС, я думаю, що можна сказати, що ця відповідь не є актуальною. Дякую вам все-таки!
Натан Тейлор

оскільки ви бачите всю оперативну пам’ять на 64-бітній ОС, я б запропонував цю відповідь дуже актуальною
HorusKol

@Mark В даний час у мене дзеркальне відображення та зберігання пам'яті встановлено за замовчуванням "Disabled".
Натан Тейлор

2

Хоча ви не вирішите проблему прямо, це може допомогти в її діагностиці. - Ви намагалися запустити Linux-дисковід на зразок Ubuntu ? В ідеалі вам слід спробувати завантажувати і 32-бітну, і 64-бітну версію - 64-бітна повинна бачити додаткову оперативну пам’ять без проблем, а якщо вона бачить лише дві, то ви майже напевно маєте проблеми з обладнанням. Якщо 32-розрядний Linux також бачить лише 2 Гб оперативної пам’яті, то, як заявив Марк Бут, ви, мабуть, мають пам'ять, вбудовану введення / виведення пам'яті, займаючи решту.

Відеокарти, як правило, є найгіршими правопорушниками в з'їданні доступної оперативної пам’яті, у вас не буває встановлено дві карти 1 Гб, чи не так?

Відновлення пам'яті

Багато сучасних BIOS матимуть можливість перезавантажити простір пам'яті, щоб уникнути проблем MMIO - хоча це працює лише для 64-бітних операційних систем або систем, що підтримують PAE. Перевірте свій BIOS на цей параметр.

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


Наразі система працює на одному 7800GTX (256mb), тому я не підозрюю, що це джерело проблеми
Натан Тейлор

@Nathan - ви спробували будь-який із ароматів Linux? Також зауважте: незалежно від того, скільки оперативної пам’яті ви встановили та видимої, один процес ніколи не зможе використовувати більше 2 Гб під 32-бітною настільною ОС Windows. Де ви бачите повідомлення про 2 Гб? BIOS? Властивості системи? Що станеться, якщо ви витягнете дві палички 512 Мб?
Goyuix

@Goyuix У мене було враження, що 32-розрядна система Windows може адресувати до 3 Гб, навіть якщо вона буде виділяти лише 2 Гб процесам. BIOS повідомляє про 4 Гб оперативної пам’яті, тоді як операційна система повідомляє лише про 2 ГБ. Я не пробував Linux, однак я спробував змінити палички, включаючи видалення 512mb DIMM.
Натан Тейлор

@Nathan теоретично Win32 може вирішити всі 4 ГБ пам'яті, проблема полягає в тому, що архітектура x86 використовує вбудований введення / вивід пам'яті для багатьох пристроїв - зазвичай найбільшим порушником є ​​відеокарти через їх великі розміри пам'яті. Картка на 512 Мб знизить максимальну загальну оперативну пам'ять до 3,5 ГБ. Покладіть дві комп’ютери на 1 Гб відеокарти в комп’ютер, і Win32 навіть не може бачити більше 2 ГБ оперативної пам’яті. Інші пристрої також використовують вбудований введення / вивід пам'яті, хоча діапазон їх адрес становить щонайменше декілька мегабайт і майже не помічається.
Гоюікс

1
@Nathan: Це не лише відеокарта. Системний набір мікросхем, надбудови та інтегровані пристрої та конфігурація BIOS приходять у дію, оскільки для багатьох речей використовується MMIO. Також 32-розрядні клієнти Windows можуть використовувати лише адреси пам'яті до 4 Гб. 32-бітний сервер 2003 Std може адресувати до 4 ГБ оперативної пам’яті, незалежно від того, які адреси використовуються. Enterprise & DataCenter може вирішити багато, багато іншого. Весь "32-бітний ліміт Windows 4 GiB" є обмеженням ліцензування, не більше того. Обсяг віртуального адресного простору, доступного для окремого процесу, є абсолютно окремим питанням.
afrazier

1

Якщо всі операційні системи повідомляють про 2 Гб, то, ймовірно, проблема з материнською платою.

Мені не подобається, що ви використовуєте дві різні карти пам'яті, навіть якщо вони встановлені парами.
Я б запропонував використовувати лише один вид карти пам'яті.

За даними ramshopping.com , для вашої материнської плати рекомендуються лише карти KVR .
Я б спробував вийняти дві інші картки і подивитися, чи машина ще завантажується з 2 Гб.
Якщо так, я би замінив дві неробочі картки картками, ідентичними тим, які працюють.


1
Хоча це і є можливість, я не вважаю, що це проблема, тому що я спробував 4 різних типи оперативної пам'яті, які були усіма 1 Гбітними паличками, і з усіх них 4 встановлені мною зараз є єдиними 4, які були повністю виявлені за допомогою BIOS.
Натан Тейлор

@Nathan Taylor: Але ти використовував 4 однакові палички?
harrymc

Ні, лише 4 палички, які ви бачите вище.
Натан Тейлор

@Nathan Taylor: Це я мав на увазі - використовуючи 4 палички одного типу.
harrymc

Він використовує 4 Kingston- 2 KVR, 2 128mx-, як це було вже деякий час ..
Nathan Taylor

0

Я не знаю, чи це виправить проблему, але не здається, що ви правильно поєднуєте модулі ОЗУ. Відповідно до сторінки специфікацій, пари повинні бути розміщені поруч одна з одною на синій та чорній стороні поруч.

Схоже, ваше налаштування, яке ви перелічили вище, не відповідає цьому. Цілком можливо, що це кидання ОС, яка намагається прочитати подвійні канали.


0

Ви повинні перевірити свій BIOS. У багатьох є функція під назвою "Режим встановлення ОС" або якесь подібне ім'я, яке обмежує об'єм оперативної пам'яті, яку може бачити ваша операційна система. Це було потрібно, оскільки деякі інсталятори операційної системи вийшли з ладу, якщо б було занадто багато пам'яті. Якщо вимкнути це, слід вирішити.


Я оглянувся в BIOS, а також в посібнику, але не бачу жодних варіантів, подібних до цього.
Натан Тейлор
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.