DreamHost shared web servers run a procwatch daemon that kills processes using too much processor-power and/or memory.
This procwatch daemon 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.
Procwatch maintains log files of its actions, but there is no access to this file for DreamHost customers. If you would like to confirm if procwatch is killing your scripts, contact support on the (Panel > 'Support' > 'Contact Support') page:
This article only applies to Shared hosting plans. VPS, Dedicated and DreamPress hosting do not share these procwatch limitations.
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.
- 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.
Resolving issues with procwatch
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 procwatch limits in the future:
- How can I control bots, spiders and crawlers?
- Preventing 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 procwatch daemon monitors 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.