http://www.perlmonks.org?node_id=541750


in reply to Storable, Cygwin, and memory issues

I use cygwin every day (and really love it). I used to run out of memory all the time because the default limit isn't all that much, considering...

From the user's manual:

Changing Cygwin’s Maximum Memory

By default no Cygwin program can allocate more than 384 MB of memory (program+data). You should not need to change this default in most circumstances. However, if you need to use more real or virtual memory in your machine you may add an entry in the either the HKEY_LOCAL_MACHINE (to change the limit for all users) or HKEY_CURRENT_USER (for just the current user) section of the registry.

Add the DWORD value heap_chunk_in_mb and set it to the desired memory limit in decimal MB. It is preferred to do this in Cygwin using the regtool program included in the Cygwin package. (For more information about regtool or the other Cygwin utilities, see the Section called Cygwin Utilities in Chapter 3 or use each the --help option of each util.) You should always be careful when using regtool since damaging your system registry can result in an unusable system. This example sets memory limit to 1024 MB:

regtool -i set /HKLM/Software/Cygnus\ Solutions/Cygwin/heap_chunk_in_m +b 1024 regtool -v list /HKLM/Software/Cygnus\ Solutions/Cygwin
HTH...

--roboticus

Replies are listed 'Best First'.
Re^2: Storable, Cygwin, and memory issues
by dpuu (Chaplain) on Apr 06, 2006 at 22:03 UTC
    Yes, I tried that: it still fails even when told to use the full Gig. Even if that was the problem, the fact the same script (with the same data) on Linux requires only 43 MBytes would suggest something is wrong (or at least different) on Cygwin.
    --Dave
    Opinions my own; statements of fact may be in error.
      D'oh!

      In my rush to actually try to contribute something useful, I failed to fully read your original post, and totally missed the part where you upped the memory limit. My earlier comment should be downvoted. Sorry about that.

      Unfortunately, I have no insight into why you're running out of memory...

      --roboticus