4

I'm running an Ubuntu 10.04 nginx webserver with PHP-FPM. It has 512MB of total memory (256MB swap). After starting the PHP-FPM process (/etc/init.d/php5-fpm start), it uses an acceptable ~100MB for about 5 children. But then the processes suddenly balloon to using 400MB.

Here's a graph of my server's memory usage with PHP-FPM.

Here's my PHP process memory usage (ps aux | grep php)

I have set my PHP-FPM config conservatively: pm = static and pm.max_children = 5. I'm only running a few Wordpress blogs, and I don't get that many visitors.

How can I control the memory usage of PHP-FPM's processes so it doesn't eat up my server?

1 Answer 1

4
  • Disable any PHP extensions that you don't need.
  • Set a low max requests per child so each process is restarted more often.
  • Reduce the number of processes. You don't need many for a small blog. 2 should be fine.
3
  • I set the max requests to 4 and the number of processes to 3. Now my memory usage looks like this: i.imgur.com/jChLX.png Commented Jan 7, 2012 at 16:39
  • Max requests is really too low. The processes will be restarted too often (too much CPU time wasted). I would suggest 32 max requests/child and 2 processes. Try and see which PHP extensions are causing the high memory usage too; it shouldn't really be that high in the first place. Commented Jan 7, 2012 at 21:17
  • 1
    It is a good thing to have high buffer/cache usage by the way. This memory can be freed by the OS if needed but will improve performance if not needed. Commented Jan 7, 2012 at 21:22

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.