Linked by Thom Holwerda on Fri 19th Feb 2010 21:15 UTC
Windows It must suck to be a Windows developer. So you already have an entire legion of misguided folk hating your work for no reason (on top of the people hating your work for legitimate reasons), and then a company comes along spreading clear misinformation about Windows' memory usage, based on that company's performance monitoring software. To make matters worse, when said company is called out on its errors, it decides to publish the usage information of an Ars Technica editor's computer. As such, it is advisable to uninstall the software in question.
Thread beginning with comment 410161
To read all comments associated with this story, please click here.
Member since:

The source of their confusion is this:

It is common knowledge that this counter (Memory\Committed Bytes), more than any other, provides the most accurate picture of physical memory use under Windows

Actually, committed bytes is one of the worst possible metrics for physical memory usage. You can have a system that is completely out of physical memory, yet has plenty of available commit, and vice versa. As other people mentioned, Available Memory is a much better counter to use when you are interested in physical memory usage.

By the way, Tom's version of what Committed Bytes are is also not quite correct:

The Committed Bytes metric, for instance, is the amount of bytes in memory with stuff in it

Initially, when a page of virtual memory is committed there is no "stuff" in it. Physical storage for the page will be allocated only when it is accessed for the first time. Until then the page doesn't really exist anywhere - all you did by committing it is essentially tell the memory manager "I may decide to write some data to this page later; please make sure you'll have enough RAM or pagefile space to store this data in case I actually decide to write it."

This may seem like nitpicking but it's important to understand that when you see for example 1 GB of commit charge in task manager it doesn't mean there's 1 GB of stuff sitting in the RAM and/or pagefile. It means that if every committed page in the system was written to, you'd have 1 GB of data that would have to be backed by either physical memory or the pagefile.

Reply Score: 5

Thom_Holwerda Member since:

Thanks for the clarification; that's indeed an important aspect (and certainly not nitpicking as you think ;) ).

Reply Parent Score: 1

siride Member since:

BTW, I want to point out the MS-induced trend of using "\" instead of "/" in English prose. I suppose I can suck it up and deal with the fact that they use "\" as a path separator (still irks me, but I'll deal). But I can't abide by people who now think that a "\" is really just another way of writing "/". It's not. It's wrong and it's gotta stop.

Reply Parent Score: 2

m_pll Member since:

The backslash in "Memory\Committed Bytes" is in fact a path separator. It's part of the naming convention for performance counters in Windows:

C:\> typeperf /q Memory
\Memory\Committed Bytes

Reply Parent Score: 1