Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

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

Is there any tool that draws a graphic visualization of a process' memory?

I'd like a graph showing the percentage of pages in physical memory and in the page file.

share|improve this question
up vote 11 down vote accepted

Process Explorer has several visualization options for both individual processes and the system as a whole.

share|improve this answer
playing with Process Explorer doesn't show me the graphic visualization of an individual process... it shows system level graphs, however, and these are quite nice. – ericslaw Jun 30 '09 at 17:05
There are limited graphical displays for a process: 1. Open Process Explorer 2. Right click -> properties on a process 3. Click the "Performance Graph" tab Shows "CPU Usage", "Private Bytes" and "I/O Bytes" for the process. In this case "Private Bytes" is the most useful for Luca as it represents the number of Virtual Memory bytes allocated for private use by this process. – Richard Slater Jun 30 '09 at 17:32
+1 for pointing out the individual graph visualization.... now if I could just get that for every process to find why my machine is swapping it's brains out every morning I'd be ok. – ericslaw Jul 2 '09 at 20:02

You can try:

You'll likely need to get the Windows debugging tools in order for your tool of choice to hook into your process.

share|improve this answer
Thanks, hadn't heard of Process hacker. – l0c0b0x Jun 24 '09 at 15:26

I use VMMAP for this very purpose.

It's a recent tool made by the Sysinternals team that brought us ProcessExplorer that was suggested in a precedent post.

share|improve this answer
That's a really good tool, but it needs more precise outputs. – wishi Jul 1 '09 at 12:05

Munin is what you need for Unix-like operating systems. Actually, Munin is great for graphing anything for which you can collect numbers. If you could get one to run a TCP server, it could graph the temperature in your refrigerator.

share|improve this answer

I would use pslist, specify the pid I was interested in, and grep for the virtual memory and working set. I would then pipe to an output file and plot it using something like graphviz (or excel if you want it really quick and dirty). This would happen in a loop.

Sounds like alot, but its only a few minutes of thinking and scripting.

C:\bin>pslist /?                                                                                                   1

pslist v1.28 - Sysinternals PsList
Copyright ⌐ 2000-2004 Mark Russinovich

Usage: C:\bin\pslist.EXE [-d][-m][-x][-t][-s [n] [-r n] [\\computer [-u username][-p password][name|pid]
   -d          Show thread detail.
   -m          Show memory detail.
   -x          Show processes, memory information and threads.
   -t          Show process tree.
   -s [n]      Run in task-manager mode, for optional seconds specified.
               Press Escape to abort.
   -r n        Task-manager mode refresh rate in seconds (default is 1).
   \\computer  Specifies remote computer.
   -u          Optional user name for remote login.
   -p          Optional password for remote login. If you don't present
               on the command line pslist will prompt you for it if necessary.
   name        Show information about processes that begin with the name
   -e          Exact match the process name.
   pid         Show information about specified process.

All memory values are displayed in KB.
Abbreviation key:
   Pri         Priority
   Thd         Number of Threads
   Hnd         Number of Handles
   VM          Virtual Memory
   WS          Working Set
   Priv        Private Virtual Memory
   Priv Pk     Private Virtual Memory Peak
   Faults      Page Faults
   NonP        Non-Paged Pool
   Page        Paged Pool
   Cswtch      Context Switches`
share|improve this answer

Check out Perfmon. It's a great performance monitoring tool that lets you graphically monitor nearly any aspect of a running program.

share|improve this answer

Using Process Explorer, right-click a process and use the "Properties..." menu. In the "Performance Graph" tab you can see the memory, io and cpu usage of an individual process.

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.