If your environment is restricting how much memory you can have, you might be able to inspect and change this with ulimit, but my guess would be that you're simply exhausting physical memory.
You can measure the size of Perl data structures at run time with Devel::Size.
You can use something like DBM::Deep to write a large hash to disk instead of holding it in memory.
If you're building a large Excel spreadsheet in memory (which it sounds as if you are), I don't know how to help that (besides just having more memory). In that case, at least Devel::Size will be able to tell you.
| [reply] [d/l] |
if it 's out of memory, then it's out of memory -- there's nothing to increase, except obviously buy more ram (what, btw, are you starting out with?)...
But the problem is probably in inefficiency somewhere -- if you post your code we can comment on it, point out any potential or actual problems, and suggest solutions/alternatives ... | [reply] |
You could try increasing your swap space allocation. If your processing is linear, then you may get away without thrashing.
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
| [reply] |
If you're using cygwin, then you'll want to tell it to give you more RAM, as it defaults to a reasonably small amount. See my earlier post on this issue...
...roboticus | [reply] |
Memory limits are controlled by the O/S (or a virtual machine running within an O/S); a Perl program will be running as an application, and applications can only request resources.
Before running out and buying more memory (frequently a good idea, but often anathema to corporate IT management), I would suggest looking at ways to revise the algorithm to use less memory. Quite a few of the monks could give you help in this regard.
emc
Insisting on perfect safety is for people who don't have the balls to live in the real world.
—Mary Shafer, NASA Dryden Flight Research Center
| [reply] |