在Linux上,可以通过以下几种方式来设置PHP-FPM的资源限制:
- 使用
systemd服务文件设置资源限制
如果你的系统使用systemd管理服务,可以在PHP-FPM的服务文件中设置资源限制。通常,该文件位于/etc/systemd/system/php-fpm.service或/lib/systemd/system/php-fpm.service。在[Service]部分添加以下内容:
LimitNOFILE=65535
LimitMEMLOCK=infinity
这将分别设置文件描述符限制为65535和内存锁定限制为无限制。你可以根据需要调整这些值。
- 使用
cgroups设置资源限制
cgroups(控制组)是Linux内核的一个功能,可以用来限制进程组的资源使用。要使用cgroups限制PHP-FPM的资源,请按照以下步骤操作:
- 安装
cgroup-tools(如果尚未安装):
sudo apt-get install cgroup-tools
- 创建一个新的
cgroup:
sudo cgcreate -g memory,cpu:/php-fpm
- 设置内存和CPU限制:
echo "1G" | sudo tee /sys/fs/cgroup/memory/php-fpm/memory.limit_in_bytes
echo "50%" | sudo tee /sys/fs/cgroup/cpu/php-fpm/cpu.cfs_quota_us
这将限制PHP-FPM进程组的内存使用为1GB,CPU使用为50%。
- 重启PHP-FPM服务以应用更改:
sudo systemctl restart php-fpm
- 使用
ulimit设置资源限制
ulimit命令可以用来设置shell会话的资源限制。要使用ulimit限制PHP-FPM的资源,请按照以下步骤操作:
-
打开PHP-FPM的启动脚本(通常位于
/etc/init.d/php-fpm或/etc/init.d/php7.x-fpm,其中x是PHP版本号)。 -
在
start函数中添加以下内容:
ulimit -n 65535
ulimit -m unlimited
这将分别设置文件描述符限制为65535和内存锁定限制为无限制。
- 保存更改并重启PHP-FPM服务以应用更改:
sudo systemctl restart php-fpm
请注意,这些方法可能会相互冲突。建议只使用一种方法来设置资源限制。
以上就是关于“php-fpm在Linux上的资源限制如何设置”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm