Author Topic: How to measure Windows 7 memory usage 2 of 2  (Read 1807 times)

Offline javajolt

  • Administrator
  • Hero Member
  • *****
  • Posts: 35199
  • Gender: Male
  • I Do Windows
    • windows10newsinfo.com
How to measure Windows 7 memory usage 2 of 2
« on: February 28, 2010, 01:58:45 AM »
Task Manager: easy and incomplete



The simplest way to get a quick and dirty picture of how memory is being used is to open Task Manager (press Ctrl+Shift+Esc) and click the Performance tab. The bar under the Memory heading shows how much physical memory is currently in use by active processes, including the operating system.

Perfmon: the old-school tool



In Windows 2000 and Windows XP. Performance Monitor (Perfmon.exe) was the expert's tool of choice. It used to be the only way to view real-time details for details about system performance. It's still around in Windows 7, although it's only truly needed for extremely advanced troubleshooting. Here, I'm configuring it to track Committed Bytes and Available Bytes.

Resource Monitor: Information rich



Resource Monitor was first introduced in Windows Vista and was dramatically improved in Windows 7. It provides access to many key performance counters that used to be available only in Perfmon. The Memory tab shown here offers detailed aggregate and per-process information. To open Resource Monitor, click the button at the bottom of Task Manager's Performance tab.

Three tools monitoring a PC at rest



I've arranged all three measurement tools here on a system that has been running for more than 2 days, 9 hours (see the Up Time number in Task Manager). It has 1 GB of physical RAM installed, of which only 361 MB is in use. Don't be fooled by the green Committed Bytes counter in Perfmon, which shows more than 600 MB committed by various processes. A committed page has simply been marked for possible use by a process and the physical RAM it represents often isn't used at all.

Watching memory usage under stress



So what happens to memory usage on this system when it begins working hard? Here's what it looks like after opening a 1000-page Adobe PDF file and a half-dozen web pages, including one running a high-def Flash movie. Note that physical memory usage is still under 600 MB, although the Committed Bytes counter has shot up to nearly 900 MB. The blue Standby bar in Resource Monitor shows memory pages that Windows has loaded into physical memory in case they're needed. It represents physical RAM containing data that will be dumped in a nanosecond if another process needs the memory.

How does file copying impact memory usage?



I'm going to make this system work a little harder by downloading the installer for Microsoft Office 2010 Professional Plus (beta). As it extracts its installation files, you can see the green In Use bar grow and the blue Standby bar shrink. Note the Committed Bytes counter hasn't changed at all. Here the system is making sure those installation files are ready to run from fast RAM instead of having to be read from a slow disk.

File copying complete, memory recovered



When the extraction portion of the Office installation is complete, the In Use counter goes down sharply. Instead of being emptied, the pages of RAM have now been moved to the Standby list. Available Bytes, represented by the red line in Perfmon and by the sum of Standby+Free in Resource Monitor, is up sharply. The misleading Committed Bytes measurement (the green line in Perfmon) has barely changed.

How do installers impact memory usage?



Now the Office installer begins running. The system is still well within its comfort zone as measured using the In Use bar in Resource Monitor and the Memory indicator in Task Manager.

Installer complete, memory recovered



Now that the Office installation is complete, note something interesting: This is the first time in the entire sequence that the Free portion of the Physical Memory bar in Resource Monitor has been over 5 MB. How long do you think that will last? Meanwhile, the misleading Committed Bytes counter has dropped just a little, to roughly 870 MB. But the system is completely responsive.

Adding more stress to the system



With Office installed, I can add a couple more tasks to the system, opening a 30 page Word document with a large graphic and also connecting Outlook to an Exchange mailbox and synchronizing its contents to a local file for the first time. The Committed Bytes counter says I've crossed the 1 billion bytes, but there are still 362 MB of physical RAM available. Remember, committed pages of RAM don't necessarily contain data. That's certainly the case here.

How does closing processes affect memory usage?



Now watch what happens as I close every running process and allow the system to return to an idle state, with only system functions going on. In Perfmon, the Committed Bytes counter drops sharply as programs release their hold on pages of RAM, and the Available Bytes counter (the red line) goes up almost as sharply. In Resource Monitor, you can see that more than 100 MB of RAM is listed as Free, which means it contains no data or code. How long do you think that will last?

Windows memory manager works nonstop



The Windows 7 memory manager works constantly, even when no third-party software is running. Here, 45 minutes after I closed all running programs, note that physical memory in use has dropped below 300 MB, but Windows has been slowly filling the Standby List with pages of code and data it believes I'll use later. Meanwhile, Perfmon's Committed Bytes counter is holding steady at nearly 650 MB, unrelated at all to physical RAM usage.

Within an hour, Windows use all available RAM



Finally, nearly an hour after I stopped doing any work, actual memory in use is down to 287 MB, with another 41 MB that would have to be written to disk before it could be reused. Windows has completely filled the free RAM with pages that are now on the Standby list. Nearly 70% of this system's RAM is available for immediate usage, which is the exact opposite of what you'll think if you only look at the Committed Bytes counter.

end
« Last Edit: February 28, 2010, 02:00:33 AM by javajolt »