История изменений
Исправление mky, (текущая версия) :
Да, это. Вот 4308992k как бы памяти всего {4308992/(1024*1024)=4.109 Гбайт}. На самом деле это максимальный физический адрес. BIOS может отображать физические адреса на адреса в модулях памяти не подряд, а с дырами. Но обычно это число близко к объёму плашек памяти. И BIOS ещё может отобразить видеопамять дискретного адаптера после адресов модулей памяти.
3608132+529564+171296 = 4308992
3608132k — ядро отдаёт системе, потом туда добавится память, освободжённая от initrd (initramfs) и от кода инициализации устройств (992k init) и это и будет поле MemTotal в /proc/meminfo.
171296k — резервируется ядром, если не путаю, то там размещается сам код (image) ядра, память PCI-устройст (и AGP-видеокарт), crash буфер и буфер под kexec. Но в последнем не уверен. Не знаю, можно ли ядру сказать, что нужно резервировать меньше памяти.
529564k — памяти отсутствует. Как я понимаю, это объём адресного простраства, который BIOS «вычеркнул» из использования. Как вам уже советовали, посмотрите вывод:
dmesg | grep e820
Исходная версия mky, :
Да, это. Вот 4308992k как бы памяти всего {4308992/(1024*1024)=4.109 Гбайт}. На самом деле это максимальный физический адрес. BIOS может отображать физические адреса на адреса в модулях памяти не подряд, а с дырами. Но обычно это число близко к объёму плашек памяти. И BIOS ещё может отобразить видеопамять дискретного адаптера после адресов модулей памяти.
3608132+529564+171296 = 4308992
3608132k — ядро отдаёт системе, потом туда добавится память, освободжённая от initrd (initramfs) и от кода инициализации устройств (992k init) и это и будет поле MemTotal в /proc/meminfo.
171296k — резервируется ядром, если не путаю, то там размещается сам код (image) ядра, память PCI-устройст (и AGP-видеокарт), crash буфер и буфер под kexec. Но в последнем не уверен. Не знаю, можно ли ядру сказать, что нужно резервировать меньше памяти.
529564k — памяти отсутствует. Как я понимаю, это объём адресного простраства, который BIOS «вычеркнул» из использования. Как вам уже советовали, посмотрите вывод:
dmesg | grep e820
[\code]
Там будут диапазоны адресов блоков памяти, которые доступны или не доступны.