php-fpmのエラー「WARNING:~max_children setting (10), consider raising it」
「WARNING: [pool www] server reached pm.max_children setting (10), consider raising it」について
php-fpmのログをみていると「警告: [pool www] サーバーが pm.max_children 設定 (10) に達しました。設定を上げることを検討してください」とエラーメッセージが表示されていました。
# grep "pm.max_children setting" /var/log/php8.3-fpm.log [03-Dec-2025 15:48:16] WARNING: [pool www] server reached pm.max_children setting (10), consider raising it [03-Dec-2025 15:49:59] WARNING: [pool www] server reached pm.max_children setting (10), consider raising it [03-Dec-2025 15:51:05] WARNING: [pool www] server reached pm.max_children setting (10), consider raising it [04-Dec-2025 09:07:42] WARNING: [pool www] server reached pm.max_children setting (10), consider raising it [04-Dec-2025 09:07:55] WARNING: [pool www] server reached pm.max_children setting (10), consider raising it
このエラーメッセージは、PHP-FPM(FastCGI Process Manager)の子プロセス($children$)の数が、設定されている最大数($pm.max_children$)に到達した時に表示されます。
「pm.max_children」を設定を変更する
対処方法としては、PHP-FPMの設定ファイル(通常は /etc/php-fpm.d/www.conf や /etc/php/8.x/fpm/pool.d/www.conf など)の「午後最大子供数」等の設定を変更しすれば改善します。現在の設定を確認すると、「pm.max_children」の値は10となっており、この値が超えたのでエラーとなっていますのでこの設定を見直します。
$ grep pm.max_children /etc/php/8.3/fpm/pool.d/www.conf pm.max_children = 10 # php-fpmの子プロセス関連の値を確認します $ grep "pm" /etc/php/8.3/fpm/pool.d/www.conf | grep -v ";" pm.max_children 10 pm.start_servers 3 pm.min_spare_servers 3 pm.max_spare_servers 5
pm.max_children を変更する際は、関連する他の設定値も一緒に見直す必要がありますので、以下のように設定値を変更しました。
このサーバーはメモリ2Gしかないので、最小限に近い値となっています
| 設定項目 | 現在の値, | 変更後の値 | 変更の理由 |
| pm.max_children | 10 | 20 | 最大同時接続数。これを増やし、警告を解消します。 |
| pm.start_servers | 3 | 5 | 起動時に作成するプロセス数。トラフィックが多いなら少し増やすのが良いです。 |
| pm.min_spare_servers | 3 | 5 | 常に待機させるプロセスの最小数。 |
| pm.max_spare_servers | 5 | 10 | 常に待機させるプロセスの最大数。 |
1.上記の表のように、「pm.max_children」に関する設定を変更します
$ sudo vim /etc/php/8.3/fpm/pool.d/www.conf pm.max_children = 20 pm.start_servers = 5 pm.min_spare_servers = 5 pm.max_spare_servers = 10
2.設定を変更したら、php-fpmを再起動します
$ sudo systemctl restart php8.3-fpm

