locked
Why isn't Windows 8 using 281 MB of RAM

    General discussion

  • Since the first boot up of Windows 8 the first thing I did was check to see if Windows was really using 281 MB of RAM what I got was this...

     

    Steven specifically said that on 1 GB systems (Net books) windows was only going to consume 25% of RAM. Was the screenshot in the BUILD conference from a different build or did you guys lie =(

    EDIT: Desktop was not loaded, used Ctrl + Shift + Esc on the Start screen

    Intel GMA 945 drivers were used so I'm sure the difference is only in the single digits.

    Sunday, October 02, 2011 12:55 AM

All replies

  • I bet the dishonest memory used in the demo at build was achieved by disabling services that while wouldn't keep the computer from running wouldn't allow you to use it like any normal person would. It the same dishonesty that they spin by answering the battery life issue with ARM. While ARM gives you battery life it takes away all of your non-metro apps - no desktop.

    While I applaud Microsoft for all of the hard work they've put into Win8 I think they need to be honest with themselves with were they are really at in it's development and what it is really going to take to put out an experience that exceeds what is available today by Apple and Google. Typical Microsoft - lots of great pieces but still not great as whole.

    Sunday, October 02, 2011 2:09 AM
  • Well, given that every other demo was running a later build than the developer preview it's highly likely that the figure came from a more recent build too. Other factors will likely influence the exact figure too, such as what drivers your machine has loaded, whether or not you've loaded the desktop and whether you've installed the 32 or 64-bit release.

    To suggest that it was a lie doesn't make sense though, there is simply nothing to be gained from making a claim like that if it can't be substantiated at this point. At best it seems mildly impressive whilst at worse you'll end up with a bunch of articles come release time claiming it must have bloated enormously when the release doesn't even come close to that figure.

    Sunday, October 02, 2011 7:21 AM
  • Graphics card drivers are not known for their light RAM usage. This has been true since the very first 2D+3D capable cards from Nvidia came to market and the situation has never improved.

    If I were to guess, I would say the demoed RAM usage figure was achieved with some bespoke fine-tuning from Intel's GPU driver team. Neither AMD nor Nvidia based systems will likely be able to reach such a low usage figure.

    Sunday, October 02, 2011 1:03 PM
  • becasue MS cheated at the demo. They called a Win32 API to page out all working sets and write the data in the page file. If an application needs the data again, they must be read from the page file (hard page fault). And this makes Windows slower! The important number is the "Commit".

    I higlighted it in the picture. The difference is only 32MB. And most of them is saved by lower paged pool usage. MS now frees the paged pool earlier. That's all.

     


    "A programmer is just a tool which converts caffeine into code"


    Sunday, October 02, 2011 4:08 PM
  • I would have thought the exact opposite. The screenshot of the task manager in the conference used the old task manager so they either are working to get Windows 8 to run with only 281 MB of RAM or these figures came from an older build.
    Sunday, October 02, 2011 4:40 PM
  • read my other reply to get the correct answer ;)
    "A programmer is just a tool which converts caffeine into code"

    Sunday, October 02, 2011 4:51 PM
  • ok, you unproposed it, now here a picture of Vista:

    As you can see the Vista uses 146MB RAM and 363MB is commited. There is a drop in the diagram after I called the Win32API function to write the data to the page file ;)

    MS cheated to show an improvement where there is no improvement ;) Today MS also posted a blog post and lies to people :D


    "A programmer is just a tool which converts caffeine into code"

    Friday, October 07, 2011 6:10 PM
  • Isn't the Vista machine running with DWM disabled because it's running in a VM?
    • Edited by xpclient Friday, October 07, 2011 6:33 PM
    Friday, October 07, 2011 6:28 PM
  • this doesn't matter. With DWM the mem usage would be 30-40MB higher. The Screen resolution was low to simulate low end system.

    Look at the diagram to see the drop after I called the NtSetSystemInformation(SystemMemoryListInformation) Win32 API function twice (removing working sets and flushing modified data). This removes the data from the RAM and writes it to the page file. Et voilá you simulate a lower memory usage.

    Btw I replied to the AskPerf blog where you asked about 32Bit shell extensions in 64Bit Windows Explorer.


    "A programmer is just a tool which converts caffeine into code"

    Friday, October 07, 2011 10:54 PM
  • Hi Andre.

    As stated in the blog post, nothing was done to manipulate the numbers shown in Task Manager other than to let the system idle for a while.

    "Commit" is not a measure of memory usage and shouldn't be used in this way. I wrote a post detailing why this is the case a year and a half ago:

    http://brandonlive.com/2010/02/21/measuring-memory-usage-in-windows-7/

    I hope that helps clarify things for you.

    Brandon

    Saturday, October 08, 2011 5:23 PM
  • So why isn't Windows 8 using 25% of RAM as Steven Sinofsky said at //build/. And in the recent post where Bill Karagounis said that after a couple of reboots and letting it idle for a while he was having the same results. What I got after doing the same was this...



    Saturday, October 08, 2011 5:41 PM
  • Because MSFT still doesn't give any data how they done it I tried to reproduce it and found their trick.

    I made a xbootmgr trace and looked at the memory list data in WPA. You don't get the usage becasue you run the Desktop. My lowest value I got was 390MB without the desktop (InUse list minus the ETW caused paged pool usage to elimiate the impact of the xbootmgr trace)and 480MB when using the desktop. This was done with a complete clean Windows 8 VM (1024MB, 128MB GPU mem assigned in Virtual Box 4.1.4 and without installing the addons.

    So MS may did the same like me and run a xbootmgr trace or they connected a kernel debugger or created a manual dump and queried the PFN database (!memusage command in WinDbg.exe if you use WinDbg to analyse the dump or if you use kd) And here comes the MS fake! Taskmgr is a desktop app and loading it would ruine the low values. And to visualize the lower RAM usage MS used photoshop (look why it is so blurry) to change the values in taskmgr. If you load the desktop to use taskmgr to look how much RAM Windows uses, it is impossible to get 281MB. So we need a metro taskmgr which works without the desktop to get the values. But after several days MSFT still didn't clarify and will never clarify in which environment they got the data. That's why I removed the PR marketing Win8 blog from the RSS Reader and skip Windows 8. Windows Vista was (mostly will be) my last Windows. The new Win32 Desktop features are not worth to buy Windows. If you performance issues it is better to upgrade the hardware instaed of hoping that Windows 8 will improve the speed. My Vista runs perfectly, boots in 18s (on a HDD, no SSD) for expample, so that Windows 8 can be ignored. The cool features like Windows To Go is for sure sabotated with stupid SKU restrictions. This was the only feature I why I thought about buying Windows 8.

    But the keypoint is that after you install software you have a lot of tools running. And most of them install tools/services which are often update checkers. So instead of implementing update check in the app store for win32 apps, MS seams to only do this for Metro apps and win32 apps are only listed/linked but can't benifit from the app store.:

    http://www.patrickklug.com/2011/09/21/why-the-windows-8-app-store-will-fail/

    So MS can optimize what ever they want (and save 50-100MB) at the end you have so many tools running that the advantage is completely gone:

    http://translate.google.de/translate?hl=en&ie=UTF8&prev=_t&sl=auto&tl=en&twu=1&u=http://www.windowsblog.at/stories/26792.aspx

    Here is the point. MS no longer cares about desktop users and so they only talk about memory usage of Windows 8 without desktop. This fact causes all confusions.

    In 1 year you can see test of Windows 8 in blogs, PC magazines and all will tell the same: "MS promised that Win8 will only use 281MB RAM. We tested it and get 450MB. What a mess." And why does this happen? Because everyone use a Win 32 DESKTOP application (which requires loading the desktop) to messure how much RAM Windows uses and MSFT only talks about Metro and ignores the desktop completely.


    "A programmer is just a tool which converts caffeine into code"

    Wednesday, October 12, 2011 7:58 PM