Page 1 of 1
Memory
Posted: Sat Sep 17, 2005 1:50 pm
by dc0d32
I know it is a stupid question, but...
i want to know whether the RAM we install in our PC is always contiguous or can be fragmented [talking in terms of address ranges]. bcos i haven't seen a single machine with RAM split up. at the same time, under VMWare, we have some 1M portion wandering here n there. So, What abt real HW?
Re:Memory
Posted: Sat Sep 17, 2005 3:48 pm
by JoeKayzA
AFAIK, the memory is normally not fragmented,
but devices that use memory mapped IO overload certain regions in memory, thus these regions must not be used for storing data (this would trigger funny or not so funny behaviour by the corresponding device
), so you could consider them as 'holes'.
You should find out about these things in the BIOS' memory map, the FAQ should contain something about it. When you interpret the memory map correctly, you shouldn't experience problems with memory holes.
I think I can remember Brendan talking about NUMA-systems (AMD Opteron), where memory is arranged in a non-contiguos manner entirely (where each processor has its own region in the physical address space), but I'm really not sure about this. However, if you interpret the memory map correctly, you shouldn't have problems with this either.
cheers Joe
Re:Memory
Posted: Sat Sep 17, 2005 4:45 pm
by Kemp
Yeah, in NUMA systems each node's memory can be at completely different non-contiguous addresses. The memory map will be invaluable for avoiding holes whether you support these systems or not.
Re:Memory
Posted: Sun Sep 18, 2005 2:26 am
by dc0d32
GRUB provided memory map is reliable, i suppose?
Re:Memory
Posted: Sun Sep 18, 2005 3:12 am
by AR
The GRUB one is the BIOS Memory Map, it just gets it for you. As for the overall reliability, we can only hope that there aren't any BIOS' with a broken memory map function.