在Ubuntu上限制PHP-FPM资源使用可以通过配置文件来实现。以下是一些常见的方法:
方法一:使用php-fpm.conf和www.conf
-
编辑
php-fpm.conf文件:
打开/etc/php/7.x/fpm/php-fpm.conf(将7.x替换为你的PHP版本)。sudo nano /etc/php/7.x/fpm/php-fpm.conf找到并修改以下参数:
; 设置最大进程数 pm.max_children = 5 ; 设置每个子进程的最大请求数 pm.max_requests = 500 ; 设置进程空闲时间超过此值时自动重启 pm.process_idle_timeout = 10s -
编辑
www.conf文件:
打开/etc/php/7.x/fpm/pool.d/www.conf。sudo nano /etc/php/7.x/fpm/pool.d/www.conf找到并修改以下参数:
; 设置最大进程数 pm.max_children = 5 ; 设置每个子进程的最大请求数 pm.max_requests = 500 ; 设置进程空闲时间超过此值时自动重启 pm.process_idle_timeout = 10s
方法二:使用systemd服务配置
如果你使用的是systemd来管理PHP-FPM服务,可以在服务文件中添加资源限制。
-
编辑PHP-FPM服务文件:
打开/lib/systemd/system/php7.x-fpm.service(将7.x替换为你的PHP版本)。sudo nano /lib/systemd/system/php7.x-fpm.service在
[Service]部分添加以下行:[Service] ... LimitNOFILE=65535 LimitMEMLOCK=infinity -
重新加载
systemd配置并重启服务:sudo systemctl daemon-reload sudo systemctl restart php7.x-fpm
方法三:使用cgroups
如果你需要更细粒度的控制,可以使用cgroups来限制PHP-FPM的资源使用。
-
安装
cgroup-tools:sudo apt-get install cgroup-tools -
创建一个新的cgroup:
sudo cgcreate -g memory:/php-fpm -
设置内存限制:
echo "1G" | sudo tee /sys/fs/cgroup/memory/php-fpm/memory.limit_in_bytes -
将PHP-FPM进程移动到新的cgroup:
首先找到PHP-FPM的主进程ID:
ps aux | grep php-fpm然后将主进程移动到新的cgroup:
sudo cgclassify -g memory:/php-fpm <PID>
注意事项
- 修改配置文件后,记得重启PHP-FPM服务以使更改生效。
- 使用
cgroups时,确保你有足够的权限来管理cgroup。 - 根据你的实际需求调整参数值。
通过以上方法,你可以在Ubuntu上有效地限制PHP-FPM的资源使用。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/1396533.html