Reduction in Run-time Memory Usage in Windows 8

On a recent post on Building Windows 8 blog,Steven Sinofsky explains the reduction in run-time memory,”The run-time memory usage of Windows 8 is an important factor in determining the Windows 8 system requirements, as well as the broadened spectrum of devices that will host Windows 8.An important task for Windows 8 was to make room for new functionality while looking for opportunities to reduce the memory consumed by existing functionality and consumed across the board.”

He adds,”The easiest way to make a ballpark comparison of Windows 8 vs. Windows 7 memory use is to install both operating systems on a 1GB RAM machine (minimum OS RAM requirement) and compare them when they’ve been rebooted multiple times, and then idled for a while.”

Figure 1 – Memory usage in Windows 7 SP1

Figure 2 – Memory usage in Windows 8

 As you can see Windows 8 is doing well as compared to Windows 7.

OS services which are configured to run all the time are a significant source of ambient memory use. When assessing the set of OS services during Windows 8 planning,it was decided to remove a number of them (13), move a different set of services to “manual” start, and also made some of the “always running” services move to a “start on demand” model. This is where a “trigger” in the OS (like device arrival or the availability of a network address) causes the following to occur:

  1. The service starts.
  2. The service does its thing (whatever that happens to be).
  3. It hangs around for a while to make sure there isn’t anything else to do, and
  4. The service goes away.

Services like Plug and Play, Windows Update, and the the user mode driver framework  are all trigger-started in Windows 8, in contrast to Windows 7, where these services were always running.

Windows 8 has a better scheme for the prioritization of memory allocations made by applications and system components. This means that Windows can make better decisions about what memory to keep around and what memory to remove sooner.Also,In Windows 8, any program has the ability to allocate memory as “low priority.” This is an important signal to Windows that if there is memory pressure, Windows can remove this low priority memory to make space, and it doesn’t affect other memory required to sustain the responsiveness of the system.

About snehal

I am a computer engineer from Mumbai who is curious to learn new stuff that i come across and is an ardent Microsoft follower.Also I do love playing games in my free time