DreamHost Shared web servers run a monitor service that kills processes using too much processor-power and/or memory. This may result in a website running slow or completely going down.
This monitor service is necessary since it helps to identify and stop processes/programs, both bad and good, from unexpectedly hogging up resources which may directly and negatively affect other users on the same server.
Log files are maintained by this service, but there is no access to the log for DreamHost customers. If you would like to confirm if your scripts are being killed, contact support on the Contact Support page:
This article only applies to Shared Hosting plans. VPS, Dedicated, and DreamPress hosting do not share these memory limitations.
The text you may see when this happens is: killed for excessive resource usage
How this service works
Each user and account has a specific amount of resources allocated. When those limits are hit, your scripts are killed. This may result in a website running slow or completely going down.
All processes run by a Shell or FTP user are counted together. This includes:
- website activity
- running scripts
- shell commands
- and so on
Additionally, all processes run by all users on the server from the same DreamHost account are also counted together. When a process is killed it is generally not using too much memory by itself, it was just the process that tipped the total usage over the limit.
Checking your error.log
If you are running a script from a command line (for example, running an install script), your script may quit prematurely. Your error log file may show "killed" or you may see the error "Premature end of script headers". Check your site's error log file to confirm.
Checking your memory consumption
The following articles help to lower your memory consumption and avoid hitting your resource limits in the future:
- Controlling bots, spiders, and crawlers
- Preventing image hotlinking
- Using the 'top' command to troubleshoot your website
- Using the 'ps' command to troubleshoot your website
- Common reasons for poor website performance
The easiest way to avoid having your processes killed for excessive memory usage is to make them use less memory. The monitor service tracks memory usage across all processes you are running, not just one individual process. Because of this, you may run into memory limits prematurely if you have a number of PHP processes running at the same time. Temporarily disabling busy sites on the same user may help as well.
If troubleshooting doesn't lower memory usage
If you've gone through all troubleshooting suggestions and find the memory consumption is still hitting the shared server's limits, the only option is to upgrade your hosting plan.
The first step is to upgrade to a VPS.
How to get your site back up and running?
When you hit your memory limits on a shared server, your processes are killed. This can cause slowness on your site, or it could cause your site to go down momentarily.
After the scripts are killed off, they can begin running again normally. As long as they do not hit the memory limits again, your site will automatically start working again.
Only if your processes are continually hitting limits would your site stay down. Contact technical support if this happens to your site.