Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I can obtain a wonderful memory map of all processes with the Linux command

pmap $(ps -A | awk '{print $1}'|grep -v PID) | sort | grep \^0

It looks like

00007fd6dbf45000      4K rw---  /lib/ 
00007fd6dbf46000   1524K r-x--  /lib/
00007fd6dc0c3000   2044K -----  /lib/  

All processes' memory maps are merged here. But I am missing the information where the kernel has its memory pages. Is there a similar tool for the "complete memory map"?

share|improve this question
Possible duplicate… – Peter Lundgren Dec 17 '13 at 14:59

Your command doesn't make much sense. The addresses reported by pmap for each process are only valid in theses processes own address space, i.e. in their virtual memory. They will kind of "overlap" while technically they correspond to different pages. Some of them won't be in RAM but on disk.

The pages owned by the kernel use are on the other hand stored on physical memory.

share|improve this answer
thanks. So how can I get an overview what is stored in physical memory? – Thorsten Staerk Mar 18 '14 at 11:24
cat /proc/meminfo will give you an physical memory usage overview. – jlliagre Mar 19 '14 at 16:23

Better approach would be to use sysrq.

Run following and check your /var/log/messages.

# echo m > /proc/sysrq-trigger

This would give you zone wise memory dump. Checkout following url

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.