From: ian AT cygnus DOT com (Ian Lance Taylor) Subject: Re: Question about Sergey's heap change 7 Apr 1998 21:03:43 -0700 Message-ID: <199804080353.XAA23108.cygnus.cygwin32.developers@subrogation.cygnus.com> References: <199804080141 DOT SAA28592 AT skaro DOT cygnus DOT com> To: noer AT cygnus DOT com Cc: cygwin32-developers AT cygnus DOT com, noer AT cygnus DOT com From: Geoffrey Noer Date: Tue, 7 Apr 1998 18:41:15 -0700 (PDT) Sergey Okhapkin wrote: > > Now I know why _every_ cygwin process have a splitted heap if it allocates > more than heap_chunk_size bytes of memory (but I will not tell you why this > happens - think yourself!-) Here is the temporary fix - reserve a large > amount of memory for heap to avoid fork problem. The fix doesn't affect > performance. > > H:\usr\src\cygnus\cdk\winsup>diff -u shared.cc.orig shared.cc > --- shared.cc.orig Wed Feb 11 06:15:08 1998 > +++ shared.cc Tue Mar 24 10:44:55 1998 > @@ -96,7 +96,7 @@ > > reg_session reg; > > - heap_chunk_in_mb = reg.get_key ().get_int ("heap_chunk_in_mb", 8); > + heap_chunk_in_mb = reg.get_key ().get_int ("heap_chunk_in_mb", 128); > if (heap_chunk_in_mb < 4) > { > heap_chunk_in_mb = 4; Are there reasons why I shouldn't make this change? On a traditional Unix system, making this change would mean that every process would require 128 MB in the swap file, and your system would rapidly run out of swap space. I don't know how the Windows equivalent of a swap file works, so I don't know whether there would be any equivalent problem. Ian