Help about calculating total memory consumption during booting

Date: Sun Dec 29 2013 - 13:20:47 EST


I need help in roughly calculating the total memory consumption in an embedded Linux system just after booting is finished.
I know, I can see the memory stats using "free" and "/proc/meminfo"

But, I need the breakup of "Used" memory during bootup, for both kernel space and user application.

Example, on my ARM machine with 128MB RAM, the free memory reported is roughly:
Total: 90MB
Used: 88MB
Free: 2MB
Buffer+Cached: (5+19)MB

Now, my question is, how to find the breakup of this "Used" memory of "88MB".
This should include both kernel space allocation and user application allocation(including daemons).

If anybody knows about any tools(or techniques) please help.

Few doubts:
1) If I add up all "Pss" field in "proc/<PID>/smaps, do I get the total Used memory?
2) Is the Pss value includes the kernel side allocation as well?
3) What fields I should choose from ?proc/meminfo" to correctly arrive at the "Used" memory in the system?
4) What about the memory allocation for kernel threads during booting? Why does its Pss/Rss value shows 0 always?

Please help.

Thank You!
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at