У меня установлено 2x2 гигабайта палочек оперативной памяти.
Запуск memtest86
из меню загрузки grub подтверждает это. Memtest86 не сообщает об ошибках.
Тем не менее, каждый раз, когда я проверяю свою доступную память в работающей системе Ubuntu 10.04, она сообщает только о 3,2 ГБ.
cat /proc/meminfo
== 3320132 КБSystem Monitor
== 3,2 ГиБhtop
== 3242 МБfree -m
== 3242 МБ
У кого есть моя недостающая RAM?
Обновленная информация: я только что загрузился с двойной загрузкой в другую версию Ubuntu 10.04 на том же оборудовании (я забыл, что установил его много месяцев назад, для экстренных случаев):) .... Он сообщает 3.9 ГиБ через System Monitor
...
Я разместил свою самую последнюю /var/log/messages
информацию на http://pastebin.ubuntu.com/629246/
/var/log/messages
, но я разместил мою самую последнюю информацию здесь: pastebin.ubuntu.com/629246 .. может быть, кто-то может сделать это головой или хвостом :)Ответы:
32-разрядное адресное пространство означает, что у вас есть место для 4 ГБ адресов. В идеале ядру нравится иметь возможность отображать всю физическую память, всю память текущей задачи и всю свою собственную память. Если только физическая память занимает все 4 ГБ, это не сработает. Таким образом, физическая память делится на низкую память, которая отображается все время, и большую память, которая должна отображаться при использовании. Если вы не используете исправленное ядро, в архитектуре ix86 128 МБ адресного пространства отводится для кода ядра и структур данных, а 896 МБ - для отображения физической памяти (всего 1 ГБ).
Фоновое чтение о сложностях управления памятью, когда ваше адресное пространство не намного больше, чем ваша общая память:
Выдержки из журналов вашего ядра:
Здесь у вас 887 МБ нехватки памяти: теоретический максимум 896 МБ минус несколько МБ буферов DMA (зоны памяти, используемые для связи с аппаратными устройствами).
Из вашей физической памяти 3328 МБ отображается по адресам ниже 4 ГБ, а 768 МБ - по адресам выше 4 ГБ (диапазон 0x100000000–0x130000000). Вы не получаете доступ к этим 768 МБ, что объясняет, почему у вас есть только 3242 МБ (4096 МБ ОЗУ минус 768 МБ недоступно, минус 9 МБ буферов DMA минус 75 МБ, используемых самим ядром для кода и данных). Я не знаю, почему BIOS отображает объем ОЗУ выше отметки 4 ГБ, но в качестве точки данных я выкладываю это с ПК с 4 ГБ ОЗУ, который также имеет ОЗУ, отображаемое в 0x100000000–0x130000000.
Для отображения физической памяти объемом более 4 ГБ необходимо использовать PAE . PAE влечет за собой небольшое снижение производительности (в частности, требует больших структур данных в диспетчере памяти), поэтому он не включен систематически. Ядро Ubuntu по умолчанию скомпилировано без поддержки PAE. Получите
-generic-pae
ядро, чтобы иметь доступ к 64 ГБ ОЗУ.TL, DR: Linux работает как положено. Прошивка не очень полезна. Получить ядро с поддержкой PAE.
источник
linux-image-2.6.32-32-generic-pae
, иhtop
теперь3990 MiB
Может быть, это потому, что архитектура вашего Ubuntu - i386 (32-битная версия). Каков результат, когда вы бежите
uname -a
?источник
uname -a
... Linux DT9400 2.6.32-32-generic # 62-Ubuntu SMP Ср 20 апреля 21:54:21 UTC 2011 i686 GNU / Linux ... Однако, как я уже упоминал в "Обновленной информации:" в моем квесте, другая 10.04 32-битная установка с двойной загрузкой показывает 3.9 Гиб. Обе системы с двойной загрузкой были установлены с одного компакт-диска, но в настоящее время работают с разными ядрами, и на них установлены разные программы ... Кстати, это не так давно, Он показывает 3,2 ГиБ в течение многих месяцев.