Month: January 2010

The Windows memory architecture – part 1: the basics

Posted on Updated on

Most IT professionals dealing with Windows in a decent way have already heard of terms like “virtual memory”, “physical memory”, “working set”, “reserving memory”, “committed memory”, “page file”, “swapping”, “regions”, etc. I can imagine that most of them don’t really know what this is all about. Okay, the difference between physical and virtual memory and the meaning of a page file are probably quite understood, but is everybody really knowing what they are talking about? Do they really know, for instance, what a page file is for, how it is organized, how it is used, how the system behaves if it exists (or doesn’t exist),…? I seriously have my doubts. And I’m sure that those other dirty words like “working set”, “committed memory” and “data alignment” were, are and will be ignored when met. Well, it shouldn’t be like this: understanding how memory works, especially at the OS level, is important, whether you are a system administrator/engineer/architect, a developer or another kind of IT pro. You can improve performance, fine-tune applications and systems, troubleshoot so much easier and faster and control your environment so much better if you understand how this key part of your machine works and behaves. And it shouldn’t be that difficult: read, learn and, yes, have a better life (no, I promise you it won’t be the opposite!). Read the rest of this entry »