Lost memory, total memory size is not correct

From: Jürgen Urban
Date: Mon Jan 19 2004 - 06:25:01 EST


Hello,

I tried to get the amount of total physical memory. I looked at /proc/meminfo
and found this line (2.4.18):

MemTotal: 30844 kB

But this is not correct the system have 32768 kB Memory. I looked at kernel
sources and I found the variable max_mapnr. Can I use it to detect the
correct memory size? It seems that it stores the maximum number of pages
usable. So I can convert it with macro K() in linux/fs/proc/proc_misc.c to a
value in kB.

But there are 1924 kB not available (32768 kB - 30844 kB). On system boot I
get the following message:
Memory: 30780k available (960k kernel code, 392k data, 64k init, 0k highmem)
So I calculated:

1924 kB
-960 kB Kernel
- 392 kB Data
- 64 kB Init
--------------------
508 kB

There are 508 kB lost (?) memory. It seems the boot allocator is reserving
this memory, but linux doesn't tell for what. I want to know for what the 508
kB are. Is the kernel stack included in the 508 kB or in the 30844 kB. I
don't think so, because the value 30844 kB isn't changing after boot. And
every process should allocate 8 kB kernel stack.

Best Regards
Jürgen Urban

--
Jürgen Urban <jur@xxxxxxxxx>
Software Engineer

SYSGO Real-Time Solutions AG
Am Pfaffenstein 14
55270 Klein-Winternheim, Germany

Telefon: +49-6136-9948-0
FAX: +49-6136-9948-10
www.sysgo.com

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/