Monday, December 19, 2011

Mnemonic: assisting your (virtual) memory

Introduction

This article describes a tool I wrote to show, pictorially and dynamically, the consumption of virtual memory by a Windows process.
Background

Recently, I needed to investigate the way in which a Windows process was consuming Virtual Memory (VM).  I wanted to get a picture in my head of the available VM and how it was being allocated, freed and mapped by the process, and phenomena such as virtual memory fragmentation.

I came across this tool by Charles Bailey: http://hashpling.org/asm/.   It works well and it helped, but I wanted more information about particular types of allocation (those corresponding to memory-mapped files and managed and unmanaged assemblies loaded by the process), and I wanted to be able to understand for myself what was going on 'under the hood'.  So I wrote my own tool.
Using the tool

Simply run the executable.  It requires the .Net framework 4 Client profile, but otherwise needs no installation.

Select a running process from the dropdown list.  Alternatively, type the name of a process (e.g. "Excel"), and wait for it to start; Mnemonic will automatically scan the process for as long as it runs.

You'll see a screen such as this:

Screenshot_chrome.png

Read more: Codeproject
QR: Mnemonic.aspx

Posted via email from Jasper-Net