To the point where IBM actually provides several tools (e.g. It's not simple compression, there's hardware involvement, and it has some pretty steep costs. Here's the thing though - Active Memory Expansion is borderline black magic. How useful would something like this be for FreeBSD and would we be able to implement it (given legal considerations)? This means that on average, 5 pages can fit into 2, depending on the content of the data. Microsoft claims that their algorithm is fast and compresses on average 40%. The only big difficulty is the compression algorithm. If the page has been moved off the inactive list, then it has been swapped to disk so swapper reads it from disk, uncompresses it, and then gives it to the program. If the program needs it, a page fault occurs which causes the swapper to check the inactive list, uncompress the page, and give it to the program. When a page hasn't been used for awhile, it gets compressed and moved off the active list onto the inactive list and is marked swapped out. Now, being a system programmer type myself, I understand how this is implemented. Read this to get a handle on what Microsoft has announced: