in reply to Re^3: Tracking memory of a running application
in thread Tracking memory of a running application

Having worked in a Windoze environment for less than a year now, I'm still learning things all the time (such as this)! That said, I'm pretty sure this is still the measure we want. We have memory hoggy code and need to make sure it doesn't get so big it starts misbehaving; it appears that that happens when this measure exceeds 2gb.

--DrWhy

"If God had meant for us to think for ourselves he would have given us brains. Oh, wait..."

  • Comment on Re^4: Tracking memory of a running application

Replies are listed 'Best First'.
Re^5: Tracking memory of a running application
by BrowserUk (Patriarch) on Oct 26, 2005 at 01:19 UTC

    Hmm. By default, Win32 processes are limited to 2GB of ram with the other 2GB of physical address space being reserved for kernel mode use. There are several mechanisms for going beyond that.

    • There is something referred to as the /3GB switch.

      This is a boot time parameter that allows user space to be extended by a specifiable amount upto the 3GB limit with the consequent reduction in the kernel mode space available. It has restrictions upon the version of the OS and the hardware in use.

    • There is a thing called Physical Address Extension (PAE).

      This allows some versions of win32 (probably more expensive ones:), to take advantage of installed memory beyond the 4GB limit.

    • And another thing called Address Window Extensions.

      This requires the application to be written to take advantage of addressing beyond the 4GB limit.

    However, if your Perl script is bumping it's head upon the normal 2GB limit, it is probably time to consider your options for reducing it's memory requirements. Often that can be a relatively painless process of adjusting your algorithms or substituting less memory hungary data structures.

    I won't speculate about your particular problem, but there have been several pretty successful examples of memory reduction here at PM over the last few years.


    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.
      Just to be clear, It's not a Perl script that's memory hungry, it's a c++ application that we want to test/monitor with a Perl script (see my update to the OP). We are testing it exactly for the reason you suggest -- to see when it's time to reassess the algorithms/data structures used so the app stays under 2gb.

      --DrWhy

      "If God had meant for us to think for ourselves he would have given us brains. Oh, wait..."