在Linux上,可以通过以下几种方式来设置PHP-FPM的资源限制:
-
使用
systemd服务文件设置资源限制:如果你的系统使用
systemd管理PHP-FPM服务,可以在/etc/systemd/system/php-fpm.service或/lib/systemd/system/php-fpm.service文件中添加以下内容:[Service] ... LimitNOFILE=65535 LimitMEMLOCK=infinity这里,
LimitNOFILE设置了最大文件描述符数量,LimitMEMLOCK设置了允许锁定的内存大小。根据需要调整这些值。修改完成后,运行以下命令重新加载
systemd配置并重启PHP-FPM服务:sudo systemctl daemon-reload sudo systemctl restart php-fpm -
使用
cgroups设置资源限制:cgroups(控制组)是Linux内核的一个功能,可以用来限制、记录和隔离进程组的资源使用。首先确保你的系统已经安装了cgroup-tools包,然后按照以下步骤操作:-
创建一个新的cgroup:
sudo cgcreate -g memory,cpu:/php-fpm -
设置内存限制:
echo "1G" | sudo tee /sys/fs/cgroup/memory/php-fpm/memory.limit_in_bytes这里将内存限制设置为1GB。根据需要调整这个值。
-
设置CPU限制:
echo "50000" | sudo tee /sys/fs/cgroup/cpu/php-fpm/cpu.cfs_quota_us echo "100000" | sudo tee /sys/fs/cgroup/cpu/php-fpm/cpu.cfs_period_us这里将CPU使用限制为50%。根据需要调整这些值。
-
将PHP-FPM进程添加到新创建的cgroup:
sudo cgclassify -g memory,cpu:/php-fpm其中
是PHP-FPM主进程的PID。你可以在/usr/sbin/php-fpm或/usr/local/sbin/php-fpm中找到它。
-
-
使用
ulimit设置资源限制:在PHP-FPM的启动脚本(例如
/etc/init.d/php-fpm或/etc/init.d/php7.x-fpm)中,可以在启动PHP-FPM之前设置ulimit值。例如:ulimit -n 65535 ulimit -m unlimited ulimit -l unlimited ulimit -u 2048 ulimit -T unlimited这些设置分别限制了文件描述符数量、内存锁定大小、堆栈大小、用户进程数和CPU时间。根据需要调整这些值。
修改完成后,重启PHP-FPM服务以使更改生效:
sudo service php-fpm restart
请注意,这些方法可能会相互影响。在实际应用中,请根据实际需求选择合适的方法,并确保正确配置。
以上就是关于“php-fpm在Linux上的资源限制怎么设置”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm