安装wordpress后,wordpress会和nginx等协作运行,但是慢慢会发现2G内存很快就满了。这时候可能是php-fpm进程启动太多了的问题。(top命令之后加M就会按照内存排序)
上述启动的进程是我设置之后的,没设置之前php-fpm进程启动了30个左右,把内存占满了,影响网站的访问。这个问题我找了很久。
不设置之前php-fpm进程的运行个数是动态的(默认),可以根据自己的内存和需求设置。
在php-fpm.conf文件中设置
在 PHP-FPM 的配置中,pm
(process manager)指令可以被设置为以下几个值:
static
:这个选项会创建一个固定数量的子进程(由pm.max_children
指定)。这些子进程会一直运行,不管是否有请求需要处理。dynamic
:当设置为dynamic
时,子进程的数量会根据当前的需求动态调整。这个选项会根据pm.max_children
、pm.start_servers
、pm.min_spare_servers
和pm.max_spare_servers
的设置来增加或减少子进程的数量。ondemand
:在ondemand
模式下,子进程会在有新的请求时才创建。这意味着在没有请求的时候,不会有任何子进程运行,这可以进一步减少资源的使用。当请求到来时,新的子进程会被创建来处理请求,处理完成后,如果这些子进程在pm.process_idle_timeout
设置的时间内没有新的请求,它们将被终止。
这些选项允许您根据服务器的负载和资源情况来优化 PHP-FPM 的性能。选择合适的 pm
设置可以帮助您更有效地管理服务器资源,确保应用程序的响应性和稳定性。不同的选项对应其他不同的参数,可以根据需求搜索细看。
systemctl restart php-fpm