
exilepanda
Novice
Oct 12, 2010, 12:07 AM
Views: 904
|
I've built a little daemon program, which serves as a chat serve our internal office. I am using WinXP Pro, Perl 5.10.0, and in the server program under a dos prompt. Inside the script, I use :
IO::Socket IO::Socket::INET IO::Handle and inside the program, there is only $MESG = {} carries all the mesg context inside this "struct" :
$MESG = { usr1 => { [From, to, Time, Context], [From, to, Time, Context], ... }, usr2 => { .... } } After the user get their mesg, the array will be deleted ( I think this could release memories ) I've also use Devel::Size qw(total_size) to keep checking the size of $MESG, and it's anyways under 10K byte size. When everything goes fine for every few days, the server will prompt me and error "Out of Memory!" and stop running. Questions : 1. This error mesg is coming from Perl ? or the Dos Prompt ? 2. Is this error coming from a specific module ? 3. Anywhere else I can check out where the memory being consumed without release ? Thanks for any clues. Thank you!
(This post was edited by exilepanda on Oct 12, 2010, 12:09 AM)
|