php cgi.exe プロセスが多すぎる問題の解決策: まずシステム ディスク領域をチェックして一時システム ファイルが多すぎるかどうかを確認し、次に「del *.*」コマンドを使用してすべてを削除します。ファイルを作成し、プログラム構成ファイルを に追加します。StartProcesses 値は 2 に減らされ、最後に fastcgi 構成ファイルのパラメーターを最適化します。
推奨: 「PHP ビデオ チュートリアル 」
php cgi.exe プロセスが多すぎる場合の解決策:
サーバー上の php-cgi.exe プロセスが多すぎるため、CPU が 100% を占有しています。解決策:
1. システムのディスク容量を確認します。システムに一時ファイルが多すぎないか確認します。MySQL データベースの一時ファイルはデフォルトで c:/windows/temp に保存されるため、数万、場合によっては数百万の小さなファイルが蓄積され、システム ディスクを圧迫します。 。
del *.* すべてのファイルを削除します
2. IIS には PHP 言語のサポートが組み込まれていないため、PHP を使用するには、自分でインストールする必要があります。 PHP は CGI モードと ISAPI モードでインストールできますが、ISAPI モードの方がパフォーマンスが高いため、ISAPI モードの使用を推奨します。
3. プログラムを変更できる場合は、プログラム構成ファイルの StartProcesses 値を 2 に減らして、改善されるかどうかを確認することをお勧めします。
4. サーバーに問題がないか確認します。
Windows 2003 IIS6 の fastcgi 構成ファイル fcgiext.ini を最適化して、php-cgi.exe プロセスの数とメモリ サイズを削減します。
構成環境は Windows 2003 IIS6 fastcgi (FCGI) です。 PHP5.2.17 では、FastCGI モードで動作する PHP がより多くのメモリを占有することがわかりました。アクセス量がわずかに多い場合、N 個以上の php-cgi プロセスが存在します。同じ状況では、以前よりも数百 MB 多くなる可能性があります。 isapi モードを使用していますが、サーバーのメモリは 2G しかないので、余裕がありません。
この問題の解決策は、Web サーバー構成の fastcgi 構成ファイルのパラメーターを最適化することです。
C:\WINDOWS\system32\inetsrv\fcgiext.ini ファイルで、次のような php-cgi プロセス関連のパラメータを設定できます。
[Types] php = PHP [PHP] ExePath=C:\php-5.3.8-nts-Win32-VC9-x86\php-cgi.exe maxInstances=100 InstanceMaxRequests=10000 EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000 RequestTimeout=600 ActivityTimeout=900
上記の構成では:
ExePath は FastCGI パーサーへのパスを指定します。
#instanceMaxRequests は各インスタンスが処理できるリクエストの最大数を指定します。 maxInstances は起動できるインスタンスの最大数を指定します。 EnvironmentVars は環境変数 PHP_FCGI_MAX_REQUESTS を作成し、デフォルト値は 10000 に設定されます。 requestTimeout はリクエストのタイムアウトを 600 秒に指定し、 activityTimeout はアクティブ セッションのタイムアウトを 900 秒に指定します秒。 以下は推奨値です maxInstances= この値をより小さい値に変更することをお勧めします 512M メモリ maxInstances=50 1G メモリの変更 maxInstances=80 2G メモリの変更 maxInstances=140 その後、変更しますInstanceMaxRequests=
以上がphp cgi.exe プロセスが多すぎる場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。