Почему Ubuntu 10.10 amd64 (Maverick Meerkat) не использует более 3 ГБ ОЗУ?
Моя машина представляет собой 64-разрядный процессор Intel Centrino Duo Toshiba P205-S6287 и 4 ГБ ОЗУ на 667 МГц .
Согласно подробным спецификациям , ноутбук работает на 64-битном процессоре Core 2 Duo T5300 и имеет набор микросхем 945GM Express.
Псуси прав.
У меня такая же ситуация:
Хотя они называют его «64-битным процессором», вы часто не можете адресовать 4 ГБ памяти +.
Большинство старых материнских плат имеют только 32-битные адреса, и из этого пула видеокарте тоже нужно получать свои адреса.
= 4 ГБ - память графической карты (1 ГБ) = 3 ГБ.
Боюсь, что нет возможности исправить это путем исправления или обновления прошивки чего-либо.
Если вас интересуют подробности, я рекомендую: Расширение физического адреса
.Есть несколько возможных причин.
Во-первых, вы на самом деле не используете сборку amd64. Другая причина заключается в том, что ваша материнская плата и / или BIOS повреждены и не сообщают правильный объем ОЗУ.
Другая причина заключается в том, что у вас есть видеопамять и другие аппаратные ресурсы, занимающие место в области памяти размером 3-4 ГБ, а ваша материнская плата / BIOS не в состоянии поднять затененную ОЗУ на более высокие адреса, чтобы к ней можно было получить доступ.
Выяснение того, что требует рассмотрения вашего dmesg
выхода.
Это связано с Mobile Intel 945GM Express в вашем ноутбуке.
У меня есть Thinkpad T60, который использует тот же чипсет. Это был один из первых северных мостов Intel для 64-разрядных процессоров Core2Duo. Им не удалось спроектировать его.
Чипсет может теоретически адресовать только 4 ГБ ОЗУ, но также должен работать и с другим оборудованием (памятью ввода-вывода). Для этого он резервирует верхний диапазон памяти в 1 ГБ. Поддержка 64-битных адресов логической памяти в ядре Linux не помогает, потому что материнская плата и северный мост обеспечивают только 32-битную шину физических адресов к процессору. И нет обходного пути.
http://forums.lenovo.com/t5/T61-and-prior-T-series-ThinkPad/Thinkpad-s-and-N100-sw-945PM-chipset-can-t-address-gt-3G -Ram / mp / 2730
Существует теоретическая возможность разработки переключения банка памяти. Тем не менее, ядро не поддерживает его и не имеет смысла для архитектуры x86. Контроллер памяти i810 945GM, вероятно, слишком ленив, чтобы это имело смысл.
blockquote>
Мой короткий ответ: скорее всего, потому что дизайнер BIOS был небрежным.
Длинный ответ:
Несмотря на то, что у вас установлено 4 ГБ ОЗУ, вы не можете рассчитывать на 4 ГБ оперативной памяти, доступной с набором микросхем Intel 945GM. Это ограничение чипсета. Об этом можно узнать из спецификации чипсета:
Цитата из раздела 9.2: « M emory C контроллер H ubs обеспечивает Максимальное пространство декодирования адреса DRAM 4 ГБ. MCH не перераспределяет пространство памяти APIC или PCI Express. Это означает, что, поскольку объем физической памяти, заполненной в системе, достигает 4 ГБ, будет существующая физическая память, но не адресуемая и поэтому не может использоваться системой. "
BIOS должен зарезервировать диапазоны адресов для нескольких ресурсов, то есть для самого BIOS, отображенного пространства памяти PCI и PCI Express, внутренней графики, пространства памяти APIC и других окон памяти для доступа ввода / вывода. Все эти диапазоны адресов должны находиться в пределах адресного пространства 4 ГБ и, таким образом, занимают диапазоны адресов, которые больше не доступны системной памяти. Вы могли бы сказать, что эти ресурсы «крадут» пространство физической оперативной памяти.
Тем не менее, если у вас установлено 4 ГБ , вы можете ожидать, что системная память будет более 3 ГБ .
Объем физической памяти, доступной для системы, зависит от того, сколько усилий разработчик BIOS прилагает к настройке этих диапазонов адресов. Например, BIOS может выделить наименьшее количество, необходимое для каждого ресурса. Или это может позволить отключить или ограничить распределение адресов для PCI Express в зависимости от использования вашей системой устройств PCI Express.
Разработчик BIOS вашей системы, вероятно, установил для верхнего предела полезной памяти статический максимум 3 ГБ, даже если вы установили 4 ГБ. Этот подход обеспечивает статическое адресное окно размером 1 ГБ для разработчика BIOS и, как таковое, упрощает задачу разработчиков BIOS для выделения диапазонов адресов для ресурсов, чтобы они не конфликтовали с любым другим диапазоном адресов.