Sandeep
Sandeep

Reputation: 19452

Information of process that has allocated a given Physical address?

I am debugging a kernel memory corruption issue. From the resources i have i am able to find that an address(physical) 03a08000(keeps varying everytime), virtual - c3a08000 is being overwritten.

Now i want to know the process that has allocated this memory. How can i do this?

In short my question is, How can i find the name(process ID or any information) of a process that has allocated a given physical address?

Please let me know in case i am not clear on my question.

Edit : Forgot to mention that i have the complete memory dump(Complete 2 gb ram) with me

Upvotes: 2

Views: 470

Answers (2)

Sandeep
Sandeep

Reputation: 19452

There is a command called showmap inside crash tool. This will tell the exact pid and all the memory that is used by that process aswell. This is the exact information i was looking for.

Kmem shows still better statistics about the details of the related process.

crash > kmem <address>

Upvotes: 0

suneet saini
suneet saini

Reputation: 610

By the PageMap tools we can map the all the processes in the memory.The PageMap tools consists of two separate command-line utilities:

page-collect.c — Collects the memory “snapshot”; runs on the target platform.
page-analyze.cpp — Analyzes the memory “snapshot” and generates reports; runs on any platform.

EDIT------

To Debug the crash dump it can be done with gdb and other tools. To analyse as quick overview crash dump and other. Complete tutorial on crash dump.

RE-EDIT................................... I am not too sure about your question but when we are analysing crash dump; it starts as

linux:/var/crash/20111222 # crash System.map-2.6.32.49-0.3-default \
vmlinux-2.6.32.49-0.3-default.gz vmcore

Then we can list all process by ps which also shows the PID & Physical Address both.

Upvotes: 2

Related Questions