November 7, 2007 in Classic self-hosted technical help
I just moved my site (about 30 users online per hour) to a VPS from shared. My shared service was working great, so I thought "Hey, surely a VPS is even better!"
My memory seems to be randomly spiking. I have tried "top" and "ps aux" whenever it occurs but I can't figure out what's causing it. I don't have root to my box, so I can't really tinker with the settings. What can I do to track this down?
The boards seems to run flawlessly for about 4 or 5 hours then crashes and wont show anything but a 500 error until I reboot the server.
My error log is filled with:
[Tue Nov 06] [error] [client X.X.X.X] unable to init Zlib: deflateInit2 returned -4: URL /internal_error.html, referer: http://www.myboard.com/
[Tue Nov 06] [error] [client X.X.X.X] (12)Cannot allocate memory: couldn't create child process: 12: php5.cgi
[Tue Nov 06] [error] [client X.X.X.X] (12)Cannot allocate memory: couldn't spawn child process: /dh/cgi-system/php5.cgi
Here is a graph of my server. You can see the my load it practically zero all the time, while the memory bounces around.
My host provides a slider to "burst" the memory up or down. Right now I've keep it at 193 MB. I realize that's not a lot, but this is a very small site.
I appreciate any help. Thanks.
What kinds of things are allowed on your site? I.e. do you have a Gallery or allow image uploads? If so, GD resizes/thumbnails the images, and uses a ton of memory, but it's in spikes.
Also, how much memory does the box have? I would allow it to burst to practically your limit - the more memory you allow it to use, the better it's going to run, period.
How big is the database? Searches on a big database can spike the memory, because usually your mysql vars don't allow enough room for mysql to breath when dealing with large data sets from the posts table.
Gallery, Blogs, and uploads are all allowed. However, they are practically unused.
Server can bust up to 2300 MB, however I simply can't afford that much. Financial resources will only allow around 150 - 300 MB
My database is 44mb unzipped. Not too big right?
I should restate the problem better. My server is working marvelously for roughly half the day. Then during a non peak time memory goes to 0 and the server is unrecoverable, as in it wont start serving pages again until after a reboot.
What tools can I use to track this down? I don't think this issue is being caused by the users.
Hmm - you'd have to ask your host to identify specifically what is using up all the memory at that time. I honestly couldn't tell you.
Do you have any tasks that are locking in the IPB ACP, or that may be running at the time it's locking up? Perhaps there is a relatively resource-intensive task causing problems?
Thanks for your help bfarber. I checked my task manager logs but couldn't find anything. I asked my host and they simply said the site didn't have enough memory and to burst it up. I doubt they even checked their logs to see what the process might be. I bumped it up to 300mb but it still crashed after awhile. Guess I'm screwed. I either have to raise the mem up to something I can't afford or go back to shared. It just baffles me because their's no one on and I am out of memory.
Please let me know if you think of something else I can try. Thanks again.
You're not the first person I've heard from that has experienced issues like this with the Dreamhost VPS. I'm guessing it's a bug in their configuration. Technically it's not a real VPS anyways - it's essentially a shared server with guaranteed resources and you don't even get root access!
Thanks for your input Shaney. Glad to hear I'm not the only person.
I manage my own box. I had same kind of problems at one point, until I added 1,5 Gb of RAM. Now with 2,5 Gb of memory no more problems. But I run Windows server 2003.
I'd say for 200-400 users you want around 4GB of memory. Beyond that you should look at separating web and database to two servers.
I am not sure I get what 300 Mb means. RAM?
That's probably the amount of memory on the box the host allows you to use, but most likely the box has much more than that. You have to remember that there are a ton of things the webserver does. Apache and MySQL have overhead, cpanel has overhead, the mail software has overhead, as do stat programs like awstats. If you have 300mb for apache alone, or mysql alone, that's different than looking at the total amount of memory on the box.
This topic is now archived and is closed to further replies.
Started Thursday at 02:49 PM
Started 9 hours ago
Started Saturday at 01:22 AM