Tuesday, May 22, 2018

How to limit PHP-FPM memory usage?




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?



Answer




  • 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.


No comments:

Post a Comment

linux - How to SSH to ec2 instance in VPC private subnet via NAT server

I have created a VPC in aws with a public subnet and a private subnet. The private subnet does not have direct access to external network. S...