Windows manages memory differently

By: Tzvetan Mikov (tzvetanmi.delete@this.yahoo.com), May 13, 2007 8:31 pm
Room: Moderated Discussions
JasonB (no@spam.com) on 5/13/07 wrote:
---------------------------
>That's the default, you can tell it to do a 3:1GB split using the /3GB boot switch.
>The developers of the application also need to flag it as being capable of
>using more then 2GB of virtual address space (i.e. they didn't do anything silly
>like assume pointers were equivalent to 32 bit signed integers) by setting the /LARGEADDRESSAWARE
>linker flag. (The flag can actually be set in the executable by anybody using a
>simple tool that comes with Visual C++ but only the developers would know whether it's safe or not.)

>[...]
>I agree 100%, even if you are using 32 bit applications! Under 32 bit XP, our software
>will start having problems allocating more memory once its total footprint exceeds
>1.2-1.5GB (the actual amount varies, I believe due to the degree of virtual addess space fragmentation).
>
>That exact same 32 bit software will happily use well over 2GB of RAM on the same
>PC under XP x64 or 64 bit Vista. I haven't done any testing to confirm this, but
>I also get the feeling that the performance is significantly higher as well -- memory
>allocations start to take a long time when the OS is struggling to cram things into a 2GB virtual address space.
>

Architecturally Windows handles the >1GB situation a little differently than Linux. Notably the assumption that all RAM has to be mapped to kernel space is missing (although that may have changed with the 64-bit versions). So it has plenty of vitual space - the 2GB are statically divided into ranges for different allocations (e.g. kernel pageable - a concept which AFAICT is missing from Linux).

So, special calls to explicitly map user memory to kernel space for access outside of the current process context has always been required.

Off the top of my head, conceptually, I can't really tell why Windows would have trouble with anything up to 2-3GB RAM. It can be a problem with mapping lots of hardware into kernel space, but that is a different issue. (X on Linux doesn't have that problem because it maps it to user space, which is comparatively plentiful)

So it is conceivable that the trouble you app is having with more than 1.5GB RAM under XP may not be so much a HIGHMEM issue, but a matter of XP not being optimized for such amount of RAM. The kernel is pretty old. So, it would be interesting to run the same test with 32-bit Vista.

regards,
Tzvetan
< Previous Post in ThreadNext Post in Thread >
TopicPosted ByDate
Rock/Tukwila rumorsmas05/05/07 12:59 PM
  Rock/Tukwila rumorsDavid Kanter05/05/07 02:33 PM
    Rock/Tukwila rumorsDean Kent05/05/07 03:35 PM
      K8 vs Win64 timelineanonymous05/05/07 06:19 PM
        Yes, I misremembered...Dean Kent05/05/07 10:03 PM
    RockDaniel Biz√≥05/06/07 02:34 AM
      RockDean Kent05/06/07 07:11 AM
    Rock/Tukwila rumorsJoe05/06/07 11:24 AM
      Rock/Tukwila rumorsDean Kent05/06/07 11:49 AM
      Rock/Tukwila rumorsLinus Torvalds05/06/07 12:09 PM
      Rock/Tukwila rumorsanon05/07/07 01:32 AM
        Rock/Tukwila rumorsRakesh Malik05/07/07 09:36 AM
          Rock/Tukwila rumorsMichael S05/07/07 10:06 AM
          Rock/Tukwila rumorsanon05/07/07 09:48 PM
            Rock/Tukwila rumorsRakesh Malik05/08/07 06:45 AM
              Rock/Tukwila rumorsanon05/08/07 05:30 PM
                Wow. (nt)Brannon05/08/07 06:16 PM
                Rock/Tukwila rumorsrwessel05/08/07 09:48 PM
                  Rock/Tukwila rumorsJS05/08/07 10:07 PM
                    Rock/Tukwila rumorsJS05/09/07 06:44 AM
                Rock/Tukwila rumorsRakesh Malik05/09/07 05:35 AM
                  Much ado about xMichael S05/09/07 09:39 AM
                    Call it x86-64Linus Torvalds05/09/07 10:27 AM
                      (i)AMD64Michael S05/09/07 12:16 PM
                        (i)AMD64Linus Torvalds05/09/07 12:29 PM
                          (i)AMD64Groo05/09/07 04:45 PM
                          TIFNAAanonymous05/09/07 05:49 PM
                            Inspired by FYR Macedonia? (NT)Michael S05/09/07 11:21 PM
                              More likely...rwessel05/10/07 12:39 AM
                            TIFNAAGabriele Svelto05/09/07 11:57 PM
                          (i)AMD64James05/10/07 02:27 AM
                        i86Dean Kent05/09/07 12:30 PM
                        (i)AMD64Max05/09/07 01:28 PM
                          wide86? long86?hobold05/10/07 05:05 AM
                            x87 perhaps, it is one more. :) (NT)Groo05/10/07 05:50 AM
                              x86+Dean Kent05/10/07 08:44 AM
                                Does it really matter?Doug Siebert05/10/07 09:10 AM
                                  let's stay with x86-64 for now, pleaseMarcin Niewiadomski05/10/07 11:50 AM
                                    let's stay with x86-64 for now, pleaseDean Kent05/11/07 06:11 AM
                                      let's stay with x86-64 for now, pleaserwessel05/11/07 02:46 PM
                                        let's stay with x86-64 for now, pleaseDean Kent05/11/07 06:03 PM
                                          let's stay with x86-64 for now, pleaseMichael S05/12/07 10:49 AM
                                            let's stay with x86-64 for now, pleaseDean Kent05/12/07 01:05 PM
                                              let's stay with x86-64 for now, pleaseMichael S05/12/07 01:25 PM
                                                let's stay with x86-64 for now, pleaseDean Kent05/12/07 03:39 PM
                                                  let's stay with x86-64 for now, pleaseJasonB05/13/07 07:43 AM
                                                    client consolidationMichael S05/13/07 08:37 AM
                                                  let's stay with x86-64 for now, pleaseTzvetan Mikov05/13/07 03:44 PM
                                                let's stay with x86-64 for now, pleaserwessel05/14/07 02:42 PM
                                      What's your point?Doug Siebert05/11/07 02:56 PM
                                        What's your point?Linus Torvalds05/11/07 04:15 PM
                                          What's your point?Doug Siebert05/13/07 03:11 PM
                                            What's your point?Dean Kent05/13/07 07:04 PM
                                              What's your point?JasonB05/14/07 02:06 AM
                                                What's your point?Dean Kent05/14/07 07:20 AM
                                                  What's your point?JasonB05/14/07 04:35 PM
                                                  What's your point?JasonB05/14/07 07:35 PM
                                                    What's your point?Dean Kent05/14/07 08:12 PM
                                        What's your point?Dean Kent05/11/07 06:06 PM
                                        What's your point?Stephen H05/13/07 01:55 AM
                                          Why didn't MS take advantage of PAE?David W. Hess05/13/07 08:37 AM
                                            PAE sucks (Why didn't MS take advantage of PAE?)Linus Torvalds05/13/07 10:20 AM
                                              PAE sucks (Why didn't MS take advantage of PAE?)Dean Kent05/13/07 10:49 AM
                                              PAE sucks (Why didn't MS take advantage of PAE?)David W. Hess05/13/07 12:37 PM
                                              > 1 GB RAM on a 32-bit systemTzvetan Mikov05/13/07 01:44 PM
                                                > 1 GB RAM on a 32-bit systemS. Rao05/13/07 03:00 PM
                                                  > 1 GB RAM on a 32-bit systemTzvetan Mikov05/13/07 05:32 PM
                                                    > 1 GB RAM on a 32-bit systemS. Rao05/14/07 12:19 AM
                                                > 1 GB RAM on a 32-bit systemLinus Torvalds05/13/07 03:46 PM
                                                  > 1 GB RAM on a 32-bit systemTzvetan Mikov05/13/07 05:23 PM
                                                  > 1 GB RAM on a 32-bit systemJasonB05/13/07 06:37 PM
                                                    Windows manages memory differentlyTzvetan Mikov05/13/07 08:31 PM
                                                      Windows manages memory differentlyJasonB05/14/07 01:50 AM
                                                        Windows manages memory differentlyTzvetan Mikov05/14/07 08:56 AM
                                                          Windows manages memory differentlyrwessel05/14/07 03:40 PM
                                                            Windows manages memory differentlyDavid W. Hess05/14/07 04:07 PM
                                                              Windows manages memory differentlyrwessel05/14/07 04:51 PM
                                                            Windows manages memory differentlyTzvetan Mikov05/14/07 05:40 PM
                                                              Windows manages memory differentlyrwessel05/14/07 06:09 PM
                                                      Windows manages memory differentlyHoward Chu05/14/07 11:17 AM
                                                        Windows manages memory differentlyJukka Larja05/14/07 11:30 AM
                                                        Windows manages memory differentlyTzvetan Mikov05/14/07 01:54 PM
                                                          Windows manages memory differentlyHoward Chu05/15/07 03:35 AM
                                                            Windows manages memory differentlyGroo05/15/07 07:34 AM
                                                      Anyone know what OS X (10.4, Intel, desktop) does?Matt Sayler05/15/07 06:23 AM
                                                        Anyone know what OS X (10.4, Intel, desktop) does?Wes Felter05/15/07 08:37 AM
                                                        Anyone know what OS X (10.4, Intel, desktop) does?Anonymous05/15/07 10:49 AM
                                                        Anyone know what OS X (10.4, Intel, desktop) does?anon205/15/07 07:13 PM
                                              PAE sucks (Why didn't MS take advantage of PAE?)Paul05/13/07 03:40 PM
                                                PAE sucks (Why didn't MS take advantage of PAE?)Peter Arremann05/13/07 05:38 PM
                                                  PAE sucks (Why didn't MS take advantage of PAE?)Henrik S05/14/07 03:31 AM
                                              The fragility of your argumentslacker05/13/07 03:56 PM
                                                The fragility of your argumentnick05/13/07 05:42 PM
                                                The fragility of your argumentHoward Chu05/14/07 02:52 AM
                                                  The fragility of your argumentDean Kent05/14/07 09:19 AM
                                                The fragility of your argumentanon205/14/07 08:26 AM
                                                  The fragility of your argumentTzvetan Mikov05/14/07 09:01 AM
                                                  The fragility of your argumentDean Kent05/14/07 09:16 AM
                                                    The fragility of your argumentLinus Torvalds05/14/07 11:57 AM
                                                      The fragility of your argumentJasonB05/14/07 04:48 PM
                                                        The fragility of your argumentDean Kent05/14/07 07:36 PM
                                                          The fragility of your argumentRicardo B05/16/07 02:40 AM
                                                            The fragility of your argumentDean Kent05/16/07 03:32 AM
                                                              The fragility of your argumentRicardo B05/16/07 06:41 AM
                                                                PSRicardo B05/16/07 06:50 AM
                                                                The fragility of your argumentDean Kent05/16/07 09:07 AM
                                                                  Modern web browsingS. Rao05/16/07 09:16 AM
                                                                    Aha!Dean Kent05/16/07 09:27 AM
                                                                      Aha!Dean Kent05/16/07 09:32 AM
                                                                        Aha!S. Rao05/16/07 10:34 AM
                                                                  The fragility of your argumentRicardo B05/16/07 10:00 AM
                                                      The fragility of your argumentVincent Diepeveen05/16/07 10:10 AM
                                                        The fragility of your argumentPaul05/16/07 03:01 PM
                                                          The fragility of your argumentVincent Diepeveen05/17/07 03:05 AM
                                                    The fragility of your argumentanon205/15/07 01:35 AM
                                                    Splits vs page allocations?Matt Sayler05/15/07 07:33 AM
                                          What's your point?Michael S05/13/07 08:55 AM
                                            What's your point?anonymous05/13/07 11:08 AM
                                              What's your point?Michael S05/13/07 11:31 AM
                                      let's stay with x86-64 for now, pleaseJasonB05/13/07 07:16 AM
                                x864 =) (NT)some105/15/07 03:03 AM
    Rock/Tukwila rumorsIntelUser200005/06/07 02:27 PM
  Rock/Tukwila rumorsm05/13/07 08:05 AM
  Rock/Tukwila rumorsmas05/15/07 09:40 AM
Reply to this Topic
Name:
Email:
Topic:
Body: No Text
How do you spell green?