in reply to Memory issue with Hash
I ran your code (after a little clean-up) out to:
And I verified the real memory usage as '1776MB' constant. I verified this with 'top' and with:Record counter => 335700
I used the latest Debian Linux 2.6.32 distribution and used perl 5.12.2 for the test. I did not use 'Proc::ProcessTable', so I can't say whether that is part of your problem. I also deleted the 'sleep( 10 );' since I didn't see any value in waiting 10 seconds to see the screen fill up immediately again.'/bin/ps -o rssize -p $$'
Some suggestions:
- perl5.8.8 is rather old.
- use strict and use warnings ( You need more 'my's in your code
- Consider using a 'log' file for incrementing information.
From this test, your problem isn't the hash growing. It could be your system or the system's perl that's giving you the problem.
Good Luck!
Update: I remembered I had some AIX systems with perl5.8.8 and I ran the code to 'Record counter => 10320' and the memory usage stayed as '1940MB'. So it doesn't seem to be a problem on the AIX perl5.8.8 either
Update2: My "MB" in above should be "KB" as the way 'top' and 'ps' return the information.
"Well done is better than well said." - Benjamin Franklin
In Section
Seekers of Perl Wisdom