LINUX.ORG.RU

История изменений

Исправление 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]
Там будут диапазоны адресов блоков памяти, которые доступны или не доступны.