php cgi プロセスが占有するスペースが多すぎる問題の解決策: 1. 「php.ini」から eAccelerater モジュールを無効にする; 2. Linux proc 仮想ファイル システムを使用して、問題のある特定のプログラムを見つける; 3 . Linux proc 仮想ファイル システムを使用して問題のある特定のプログラムを見つけ、proc ファイル システムを使用して原因を調べます。
推奨: 「PHP ビデオ チュートリアル 」
通常の状況では、PHP-CGI はユーザーが次の場合にのみ使用されます。 CPU リソースを占有しますが、最近同僚が、サーバー上の PHP-CGI プロセスが多くの CPU を占有しているが、アクセス トラフィックは非常に小さいと報告しました。これは明らかに異常な現象であり、どこかに障害があることを示しています。この問題の考えられる理由は次のとおりです。
1. 互換性の問題
php 拡張機能と php バージョンの互換性に問題がある場合、同様のケースが報告されており、eAccelerator と特定の php バージョンとの互換性には問題があります。具体的には、パフォーマンス中に php-cgi プロセスを開始した後、
が 10 分以上実行され、非常に遅くなりましたが、静的リソースへのアクセスは非常に高速で、サーバーの負荷も正常でした (これは、問題がないことを示しています)サーバー解析機能では nginx を使用しますが、php-cgi プロセスに問題があります)。
解決策
php.ini から eAccelerater モジュールを無効にして、php-cgi プロセスを再起動します。
2. プログラム内に無限ループがある可能性があります
プログラム内に無限ループがある場合、サーバーの負荷が非常に高くなるのは間違いありません ( top コマンドを使用して 100 までの負荷を確認します)。
解決策
Linux proc 仮想ファイル システムを使用して、問題のある特定のプログラムを見つけます。
3. PHP プログラムによるセッションの不当な使用
情報によると、これがオープンソースの Weibo note Dog プログラムで発生したことがわかります。少量の PHP - CGI プロセス (10 以下) の CPU 使用率が 98% 以上に達します。
サーバーの負荷は 4 ~ 8 です。
ソリューション
が必要です。 Linux の proc ファイル システムを利用して原因を調べてください。
4. プログラム内に非常に時間がかかり、実行不可能な操作が含まれています。
この場合、プログラム自体が開発時に標準化された方法で記述されていないことが原因です。書かれた。これはソフトウェア設計者やプログラミングエンジニアと協力して解決する必要があります。
以上がphp CGI プロセスが多すぎる場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。