Windows heaps and Cygwin heap

Corinna Vinschen corinna-cygwin@cygwin.com
Tue May 17 15:32:00 GMT 2011


On May 17 07:12, Ryan Johnson wrote:
> On 17/05/2011 4:19 AM, Corinna Vinschen wrote:
> >On May 13 06:32, Ryan Johnson wrote:
> >>In any case, I also have never seen problems above 0x20000000.
> >I'm looking into the heap and stack addresses for a good amount of time
> >now.  Since we're talking about Cygwin applications only, which don't
> >use HeapCreate, we only have to care for heaps created by Win32 DLLs.
> >
> >What I'm observing is that even big apps like vim, emacs, octave don't
> >use addresses beyond 0x03000000.  Setting the heap to an address of
> >0x20000000 appears to be a rather big waste of memory.
> >
> >So I'm planning to drop the bar to 0x08000000, which gives the heap
> >a potential extra memory of 384 Megs. and still leaves a confortable
> >cushion of 80 Megs for the OS.
> >
> >Does anybody see a good reason not to do that, like, say, different
> >observations of the memory address usage by OS DLLs and stuff?
> 
> On my machine, running 'emacs-X11 -nw', quite a bit of stuff appears
> at 0x01????? (showing only allocation bases below for brevity):
> >[...]
> Another bunch appears in the 0x19??????-0x1C?????? range (again,
> allocation bases only):
> >19A80000-19C7B000 ---p 00000000 0000:0000 0
> >[...]
> 
> While cygxml2-2.dll presumably needs rebased and can be made to
> move, I think the rest is there to stay.

That's kind of annoying.  I wouldn't have believed that the OS DLLs
would take so much memory.  I'll stick to 0x20000000 for now.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat



More information about the Cygwin-developers mailing list