Мой короткий ответ: скорее всего, потому что дизайнер BIOS был небрежным.
Длинный ответ:
Несмотря на то, что у вас установлено 4 ГБ ОЗУ, вы не можете ожидать, что с набором микросхем Intel 945GM будет доступно 4 ГБ оперативной памяти. Это ограничение чипсета. Об этом можно узнать из спецификации чипсета:
http://www.intel.com/content/www/us/en/intelligent-systems/navy-pier/mobile-945-express-chipset-datasheet.html
Цитата из раздела 9.2: " М Emory С ontroller H . УБС обеспечивает максимальную DRAM адрес декодирование пространства 4 ГБ МЧА не переназначить 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 для выделения диапазонов адресов для ресурсов, чтобы они не конфликтовали с любым другим диапазоном адресов.
uname -a
, о выходе,free -m
а также подтвердить, что у вас есть более 3 ГБ оперативной памяти, посмотрев на ваш dmidecode.