[Gllug] Missing RAM
John Southern
john at sinoda.demon.co.uk
Sun May 17 14:58:02 UTC 2009
On Sunday 17 May 2009 12:15:58 Richard Jones wrote:
> > However my question is where is the missing 24608 bytes.
>
> As Peter points out, this is 24 MB short, which is close to a
> 'typical' number for some old/cheap chipsets where system RAM is
> stolen for video RAM.
Yes, I forgot to multiple by another 1024 for bytes.
> However you can't really tell what's going on with RAM without sharing
> with us the BIOS e820 maps. For example, from this machine which has
> 4 GB of total memory, with my annotations:
>
> BIOS-provided physical RAM map:
> BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
>
> ^ This is the "640K will be enough for anyone" low memory.
>
> BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
> BIOS-e820: 00000000000e8000 - 0000000000100000 (reserved)
>
> ^ ROMs? #a0000 is the starting address of ancient PC text mode video
> memory. (Actually, it was #a0000 for mono and #a8000 for colour).
>
> BIOS-e820: 0000000000100000 - 000000000fff0000 (usable)
>
> ^ #100000 is the start of upper memory on all post-AT PCs.
>
> BIOS-e820: 000000000fff0000 - 0000000010000000 (ACPI data)
>
> ^ 1 MB of ACPI data located just under the 256MB memory boundary.
>
> BIOS-e820: 00000000fffbd000 - 0000000100000000 (reserved)
>
> ^ And the rest of upper memory, constituting another 3840MB of RAM.
> [Not sure why this is marked 'reserved' when it quite clearly should
> be 'usable']
>
> From the above maps, you can see the usable memory on the machine is
> approximately: 3840M + 255M + 640K which is just a snip under 4096 MB.
>
> You'll also note that memory does not need to be physically located in
> a single contiguous chunk starting at address 0. Even physical memory
> has addressing holes, and this has been true ever since PCs came with
> more than 640K of RAM.
Ah, that does help a little.
dmesg | grep 820
[ 0.000000] BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
[ 0.000000] BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
[ 0.000000] BIOS-e820: 00000000000e8000 - 0000000000100000 (reserved)
[ 0.000000] BIOS-e820: 0000000000100000 - 000000007ffb0000 (usable)
[ 0.000000] BIOS-e820: 000000007ffb0000 - 000000007ffc0000 (ACPI data)
[ 0.000000] BIOS-e820: 000000007ffc0000 - 000000007fff0000 (ACPI NVS)
[ 0.000000] BIOS-e820: 000000007fff0000 - 0000000080000000 (reserved)
[ 0.000000] BIOS-e820: 00000000ff7c0000 - 0000000100000000 (reserved)
>From that, I can see everything that makes up the 2GB (Up to the 80000000)
assuming a0000-e800 is a rom table.
free is reporting 2072544K which is less than the usable bit between 100000
and 7ffb0000 (2095808K).
John
--
Gllug mailing list - Gllug at gllug.org.uk
http://lists.gllug.org.uk/mailman/listinfo/gllug
More information about the GLLUG
mailing list