| From: William Case <billlinux@xxxxxxxxxx> | I have "The Linux Kernel Primer" here (for the 2.6 kernel) and I have | read it. I also have two books on Computer Organization and | Architecture. So I will be more specific about my question. The raw information is quite unwieldy and is probably only of interest to kernel hackers, and this list is not full of kernel hackers (there are a few). Start by reading books, then mailing list archives (LKML). Google. Read the documentation that comes with the kernel source. Read the kernel source. Look at stuff output by dmesg. Near the beginning (unless there have been too many kernel messages since booting) that look like this: BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 000000000009fc00 (usable) BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved) BIOS-e820: 00000000000e7000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 000000003ffc0000 (usable) BIOS-e820: 000000003ffc0000 - 000000003ffd0000 (ACPI data) BIOS-e820: 000000003ffd0000 - 0000000040000000 (ACPI NVS) BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved) BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved) BIOS-e820: 00000000ff7c0000 - 0000000100000000 (reserved) That tells you about physical memory. Look at /proc/mtrr Look at /proc/slabinfo These are the things to look at that I know off the top of my head. There are plenty more. Memory allocation inside the kernel has changed a bunch of times because it is never good enough.