PDA

View Full Version : Memory issue


modyyy55
12-26-2010, 06:34 PM
Hello,

I have a problem with my server, it runs out of memory and become over-overloaded after that.

So I moved to a larger server (Dual Xenon Quad Core) in new company .... but still runs out of memory !



So, I guess it's not a server issue it's for sure something inside vB, as the server carries only a vB forum.

I started to debug the plug-ins that I have installed/programmed to find out if there is a bad plug-in that could be the cause of that memory issue, and that's came up with some question that I need to ask you about..



First :

In plug-in programming, do I have to unset the variables that I allocate in the memory ?

I mean, I created a plug-in that runs in Global_Start, and that is a sample of it's code.

//Electrical Engineering Announcements
$adsys_ee_glob = implode('', file('announcement/10.html'));
$adsys_ee2014 = implode('', file('announcement/11.html'));
$adsys_ee2013 = implode('', file('announcement/12.html'));
$adsys_cse2012 = implode('', file('announcement/13.html'));
$adsys_ece2012 = implode('', file('announcement/14.html'));
$adsys_epm2012 = implode('', file('announcement/15.html'));
$adsys_cse2011 = implode('', file('announcement/16.html'));
$adsys_ece2011 = implode('', file('announcement/17.html'));
$adsys_epm2011 = implode('', file('announcement/18.html'));

Then I take those variables and put them back in the forum style, that's it.



The Question is ... do I have to create a plug-in that runs at Global_Complete for example to unset those variables ? .... something like that :

unset($adsys_ee_glob);
unset($adsys_ee2014);
unset($adsys_ee2013);
unset($adsys_cse2012);
unset($adsys_ece2012);
unset($adsys_epm2012);
unset($adsys_cse2011);
unset($adsys_ece2011);
unset($adsys_epm2011);

Or,

Those variables are already killed when the page loaded and I don't have to unset them ? ... and writing a code like that could make a processing problem or something ?


_____________________________


Second :

What could the cause of running out of memory ? could there be something other than a bad plug-in ?


_____________________________



That's all, thanks in advance.

And sorry if the topic is little messy.

kh99
12-26-2010, 06:48 PM
[FONT="Trebuchet MS"]The Question is ... do I have to create a plug-in that runs at Global_Complete for example to unset those variables ?

My understanding is no, you don't have to unset your variables at the end. If you set variables to something large, used them, then was done with them all within your plugin then you might think about unsetting them, but there's no requirement to do it at the end.

Why do you say it's running out of memory? What exactly is telling you that?

ETA: ...I mean, it's not that I doubt it, I'm just wonder what's reporting the problem.

modyyy55
12-28-2010, 02:41 PM
Thanks for your help.

I have a dedicated server, and there is a shell command that named top could actually monitor the Processor load, Memory and so on throw it.

And I found that the used RAM is growing up until it's full then it goes to use the HDD and that causes a huge load until the server crashes !



Any way,
Thanks for your help, and please if somebody else knows something that could help me please let me know.

Thanks

Lynne
12-28-2010, 03:04 PM
How much RAM do you have? And how active is the forum? Did you try posting over in the Server Configuration forum on vb.com for help configuring it correctly?

modyyy55
12-29-2010, 09:01 PM
Thanks Lynne for your reply.

I have 4Gigs of server RAM, and a Dual Xenon Quad Core server processor which serves the forum only.



The forum has around 9000 users, and 300 of them are online ( in the interval of 15 minutes )

The forum database is now 750 MB after removing all unnecessary things from it (Avatars, Attachments .... etc.).

400 MB of database is for the forums posts, which is around half million post.

That's the complete details of the forum.



Didn't try to post request in vB.com, as every time I ask about something they send me back to here :D, so I posted the topic here.